Ebben a példában megtanul egy programot írni JavaScript-ben annak ellenőrzésére, hogy egy szám Armstrong-e vagy sem.
A példa megértéséhez ismernie kell a következő JavaScript programozási témákat:
- JavaScript operátorok
- JavaScript while and do… míg a hurok
A pozitív egész számot Armstrong számnak nevezzük (n sorrendben), ha
abcd… = a n + b n + c n + d n +…
Armstrong 3 jegyű száma esetén az egyes számjegyek kockáinak összege megegyezik magával a számmal. Például a 153 egy Armstrong-szám, mert
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Hasonlóképpen, 1634 Armstrong-szám, mert:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
1. példa: Ellenőrizze Armstrong háromjegyű számát
// 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.`); )
Kimenet
Adjon meg egy háromjegyű pozitív egész számot: 153 153 Armstrong-szám.
A fenti program beviszi a felhasználót. Azután,
- A felhasználó által beírt számot egy ideiglenes változó tárolja
temp
. - A
while
háromjegyű érték ismétlésére egy hurok szolgál.- A modulus operátort
%
használjuk az egyes számjegyek megszerzéséhez. Ha egy számot elosztunk 10-vel , a maradék az utolsó számjegy. Az első iterációban 3-at153 % 10
ad . - A fennmaradó szám kocka kiszámítása a számjegy háromszoros szorzatával történik. És a kocka hozzáadódik a
sum
változóhoz. - Az utolsó számjegy eltávolításához a számjegyet elosztjuk 10-vel .
- A
while
hurok folytatja az iterációt és elosztja a számot 10-vel, amíg a szám 0 nem lesz .
- A modulus operátort
- Végül az összeget összehasonlítjuk a felhasználó által megadott számmal. Ha az összeg és a szám megegyezik, a szám Armstrong-szám.
Megjegyzés : A fenti programban egy szám kockáját ki lehet számítani egy kitevő operátor segítségével **
. Például,sum += remainder ** 3;
2. példa: Ellenőrizze Armstrong n számjegy számát
// 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.`); )
Kimenet
Adjon meg pozitív egész számot: 92727 A 92727 Armstrong-szám
A fenti programban Armstrong számú n számjegyet ellenőriznek.
Amikor a felhasználó megad egy számot, azt karaktersorozatnak veszi. A length
tulajdonság egy karakterlánc hosszát adja vissza.
A felhasználó által beírt számot egy temp
változó tárolja . Egy while
ciklust pedig addig ismételnek, amíg értéke kisebb, mint 0 . A szám minden számjegyét a szám hosszának hatványára emeljük.