V tomto příkladu se naučíte psát program v JavaScriptu, abyste zkontrolovali, zda je číslo Armstrongovým číslem či nikoli.
Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:
- Provozovatelé JavaScriptu
- Zatímco JavaScript a dělat … zatímco Loop
Kladné celé číslo se nazývá Armstrongovo číslo (řádu n), pokud
abcd… = a n + b n + c n + d n +…
V případě Armstrongova počtu 3 číslic se součet kostek každé číslice rovná číslu samotnému. Například 153 je Armstrongovo číslo, protože
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Podobně 1634 je Armstrongovo číslo, protože:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Příklad 1: Zkontrolujte Armstrongův počet tří čí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ýstup
Zadejte trojciferné kladné celé číslo: 153 153 je Armstrongovo číslo.
Výše uvedený program přijímá vstup od uživatele. Pak,
- Číslo zadané uživatelem je uloženo v dočasné proměnné
temp
. - K
while
iteraci tříciferné hodnoty se používá smyčka.- Operátor modul
%
se používá pro získání každé číslo číslice. Když je číslo vyděleno 10 , zbytek je poslední číslice. V první iteraci153 % 10
dává 3 . - Kostka zbývající číslice se vypočítá trojnásobným vynásobením číslice. A kostka je přidána do
sum
proměnné. - Číslice je vydělena 10, aby se odstranila poslední číslice.
while
Smyčka pokračuje iterace a dělením čísla od 10 až je číslo 0 .
- Operátor modul
- Nakonec se součet porovná s číslem zadaným uživatelem. Pokud je součet a číslo stejné, číslo je Armstrongovo číslo.
Poznámka : Ve výše uvedeném programu bylo možné vypočítat krychli čísla pomocí operátoru exponentu **
. Například,sum += remainder ** 3;
Příklad 2: Zkontrolujte Armstrong počet 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ýstup
Zadejte kladné celé číslo: 92727 92727 je Armstrongovo číslo
Ve výše uvedeném programu je zkontrolován Armstrongův počet n číslic.
Když uživatel zadá číslo, bude bráno jako řetězec. length
Vlastnost vrací délku řetězce.
Číslo zadané uživatelem je uloženo v temp
proměnné. A while
smyčka se používá k iteraci, dokud její hodnota není menší než 0 . Každá číslice čísla je zvýšena na sílu délky čísla.