Šiame pavyzdyje išmoksite rašyti programą „JavaScript“, kad patikrintumėte, ar skaičius yra „Armstrong“ numeris, ar ne.
Norėdami suprasti šį pavyzdį, turite žinoti šias „JavaScript“ programavimo temas:
- „JavaScript“ operatoriai
- „JavaScript“ kol ir darykite … kol kilpa
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
1 pavyzdys: patikrinkite trijų skaitmenų Armstrongo skaičių
// program to check an Armstrong number of three digits let sum = 0; const number = prompt('Enter a three-digit positive integer: '); // create a temporary variable let temp = number; while (temp> 0) ( // finding the one's digit let remainder = temp % 10; sum += remainder * remainder * remainder; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) // check the condition if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Rezultatas
Įveskite teigiamą trijų skaitmenų skaičių: 153 153 yra Armstrongo skaičius.
Pirmiau nurodyta programa priima vartotojo indėlį. Tada
- Vartotojo įvestas numeris saugomas laikinajame kintamajame
temp
. while
Kilpa naudojama, kad iš eilės trijų skaitmenų vertę.- Modulis operatorius
%
naudojamas gauti kiekvieną skaitmenų skaičių. Kai skaičius padalijamas iš 10 , likusi dalis yra paskutinis skaitmuo. Pirmoje iteracijoje153 % 10
duoda 3 . - Likęs skaitmens kubas apskaičiuojamas padauginus skaitmenį tris kartus. Ir kubas pridedamas prie
sum
kintamojo. - Skaičius padalinamas iš 10, kad būtų pašalintas paskutinis skaitmuo.
while
Kilpa ir toliau iteravimu ir dalijant skaičių 10 , kol numeris yra 0 .
- Modulis operatorius
- Galiausiai suma palyginama su vartotojo įvestu skaičiumi. Jei suma ir skaičius yra vienodi, skaičius yra Armstrongo skaičius.
Pastaba : Pirmiau pateiktoje programoje skaičiaus kubą galima apskaičiuoti naudojant eksponento operatorių **
. Pavyzdžiui,sum += remainder ** 3;
2 pavyzdys: patikrinkite Armstrongo n skaitmenų skaičių
// program to check an Armstrong number of n digits // take an input const number = prompt("Enter a positive integer"); const numberOfDigits = number.length; let sum = 0; // create a temporary variable let temp = number; while (temp> 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Rezultatas
Įveskite teigiamą skaičių: 92727 92727 yra Armstrongo skaičius
Pirmiau pateiktoje programoje yra patikrintas Armstrongo n skaitmenų skaičius.
Kai vartotojas įveda numerį, jis laikomas eilute. length
Nuosavybė grąžina eilutę ilgį.
Vartotojo įvestas numeris saugomas temp
kintamajame. Ir while
kilpa naudojama kartoti, kol jos vertė bus mažesnė nei 0 . Kiekvienas skaičiaus skaitmuo pakeliamas iki skaičiaus ilgio galios.