V tomto príklade sa naučíte písať program v JavaScripte a skontrolovať, či je číslo Armstrongovým číslom alebo nie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Prevádzkovatelia JavaScriptu
- JavaScript zatiaľ čo a robiť … zatiaľ čo Loop
Kladné celé číslo sa nazýva Armstrongovo číslo (rádu n), ak
abcd … = a n + b n + c n + d n + …
V prípade Armstrongovho čísla s 3 číslicami sa súčet kociek každej číslice rovná samotnému číslu. Napríklad 153 je Armstrongovo číslo, pretože
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Podobne, 1634 je Armstrongovo číslo, pretože:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Príklad 1: Skontrolujte Armstrongov počet troch číslic
// 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.`); )
Výkon
Zadajte trojciferné kladné celé číslo: 153 153 je Armstrongovo číslo.
Vyššie uvedený program berie vstup od používateľa. Potom,
- Číslo zadané používateľom je uložené v dočasnej premennej
temp
. - Na
while
iteráciu trojcifernej hodnoty sa používa slučka.- Operátor modul
%
sa používa pre získanie každé číslo číslice. Keď je číslo vydelené 10 , zvyšok je posledná číslica. V prvej iterácii153 % 10
dáva 3 . - Kocka zvyšnej číslice sa vypočíta trojnásobným vynásobením číslice. A kocka sa pridá do
sum
premennej. - Číslica sa vydelí 10, aby sa odstránila posledná číslica.
while
Slučka pokračuje iterácie a delením čísla od 10 až je číslo 0 .
- Operátor modul
- Nakoniec sa suma porovná s počtom zadaným používateľom. Ak je súčet a číslo rovnaké, číslo je Armstrongovo číslo.
Poznámka : Vo vyššie uvedenom programe bolo možné kocku čísla vypočítať pomocou exponentného operátora **
. Napríklad,sum += remainder ** 3;
Príklad 2: Skontrolujte počet Armstrongov n číslic
// 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.`); )
Výkon
Zadajte kladné celé číslo: 92727 92727 je Armstrongovo číslo
Vo vyššie uvedenom programe sa kontroluje Armstrongov počet n číslic.
Keď používateľ zadá číslo, bude sa považovať za reťazec. length
Vlastnosť vracia dĺžku reťazca.
Číslo zadané používateľom je uložené v temp
premennej. A while
slučka sa používa na iteráciu, kým jej hodnota nie je menšia ako 0 . Každá číslica čísla sa zvýši na mocnosť dĺžky čísla.