Šiame pavyzdyje išmoksite rašyti programą „JavaScript“, kad rastumėte Armstrongo skaičių tarp dviejų sveikųjų skaičių.
Norėdami suprasti šį pavyzdį, turite žinoti šias „JavaScript“ programavimo temas:
- „Loop“ „JavaScript“
Teigiamas sveikasis skaičius vadinamas Armstrongo skaičiumi ( n eilės ), jei:
abcd… = a n + b n + c n + d n +…
Jei „Armstrong“ yra 3 skaitmenys, kiekvieno skaitmens kubelių suma lygi pačiam skaičiui. Pavyzdžiui, 153 yra Armstrongo skaičius, nes:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Panašiai 1634 yra Armstrongo numeris, nes:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Prieš išbandydami šią programą, apsilankykite „JavaScript“ programoje ir patikrinkite Armstrongo numerį.
Pavyzdys: Armstrongo skaičiai tarp dviejų intervalų
// program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )
Rezultatas
Įveskite teigiamą mažo sveiko skaičiaus vertę: 8 Įveskite teigiamą didelio skaičiaus vertę: 500 Armstrongo skaičių: 8 9 153 370 371 407
Pirmiau pateiktoje programoje vartotojas raginamas įvesti du sveikus skaičius. Vienas yra mažesnis intervalo sveikasis skaičius, o kitas - didesnė sveikojo skaičiaus reikšmė.
parseInt()
Konvertuoja skaitinė eilutė vertę iki sveikojo skaičiaus vertės.
for
Kilpa naudojama kilpa per dviejų skaičių, kurias teikia vartotojui.
toString()
Metodas yra naudojama konvertuoti skaičių į eilutę. Ir length
turtas naudojamas rasti eilutę ilgį. Taigi šiuo atveju length
nurodomas bendras skaičiaus skaitmuo.
let numberOfDigits = i.toString().length;
Pirmoje for
ciklo iteracijoje ( i = 8 )
- Apatinis vartotojo įvestas skaičius saugomas laikinajame kintamajame
temp
. while
Kilpa naudojama, kad iš eilės numerį.- Modulis operatorius
%
naudojamas gauti kiekvieną skaitmenų skaičių. Kai skaičius padalijamas iš 10 , likusi dalis yra paskutinis skaitmuo. Pirmoje iteracijoje8 % 10
duodama 8 . - Likusi dalis padauginama iš to skaičiaus skaitmenų skaičiaus (čia 1 ) ir apskaičiuojama suma.
- Skaičius padalinamas iš 10, kad būtų pašalintas paskutinis skaitmuo, ty
8 / 10
gaunamas 0.
- Modulis operatorius
- Galiausiai suma palyginama su vartotojo įvestu skaičiumi. Jei suma ir skaičius yra vienodi, rodomas Armstrongo skaičius.
Visų skaičių, kurie yra tarp vartotojo pateiktų apatinių ir viršutinių ribų, ciklas tęsiasi. Ankstesniame pavyzdyje kilpa vykdoma nuo 8 iki 500 .