V tem primeru se boste naučili pisati program v JavaScript, da preverite, ali je številka Armstrongova številka ali ne.
Če želite razumeti ta primer, morate poznati naslednje teme programiranja JavaScript:
- Operaterji JavaScript
- JavaScript while in do … while Loop
Pozitivno celo število se imenuje Armstrongova številka (reda n), če
abcd… = a n + b n + c n + d n +…
V primeru 3-mestnega Armstronga je vsota kock vsake številke enaka samemu številu. Na primer, 153 je Armstrongova številka, ker
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Podobno je 1634 Armstrongova številka, ker:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Primer 1: Preverite Armstrongova trištevilčna števila
// 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.`); )
Izhod
Vnesite trimestno pozitivno celo število: 153 153 je Armstrongova številka.
Zgornji program od uporabnika sprejme prispevek. Potem,
- Številka, ki jo vnese uporabnik, je shranjena v začasni spremenljivki
temp
. while
Zanka se uporablja za ponovitev trimestno vrednost.- Operator modul
%
se uporablja za pridobivanje vsako mestno številko. Ko je število deljeno z 10 , je preostanek zadnja številka. V prvi ponovitvi153 % 10
poda 3 . - Kocka preostalega števila se izračuna tako, da se številka trikrat pomnoži. In kocka je dodana
sum
spremenljivki. - Številko delimo z 10, da odstranimo zadnjo številko.
while
Zanka nadaljuje ponavljanjem in deljenjem števila s 10 dokler je število 0 .
- Operator modul
- Na koncu se vsota primerja s številko, ki jo vnese uporabnik. Če sta vsota in število enaki, je število Armstrongova številka.
Opomba : V zgornjem programu lahko kocko števila izračunamo z eksponentnim operatorjem **
. Na primersum += remainder ** 3;
Primer 2: Preverite Armstrongova števila n števk
// 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.`); )
Izhod
Vnesite pozitivno celo število: 92727 92727 je Armstrongova številka
V zgornjem programu se preveri Armstrongova številka n števk.
Ko uporabnik vnese številko, se ta vzame kot niz. length
Premoženje vrne dolžino niza.
Številka, ki jo vnese uporabnik, je shranjena v temp
spremenljivki. In while
se zanka se uporablja za ponovitev, dokler njegova vrednost je manjša od 0 . Vsaka številka števila se dvigne v potenco dolžine števila.