Selles näites õpid kirjutama JavaScripti programmi, et kontrollida, kas number on Armstrongi number või mitte.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest JavaScripti programmeerimise teemadest:
- JavaScripti operaatorid
- JavaScripti ajal ja tehke … silmuse ajal
Positiivset täisarvu nimetatakse Armstrongi arvuks (suurusjärgus n), kui
abcd… = a n + b n + c n + d n +…
Armstrongi 3-kohalise arvu korral võrdub iga numbri kuubikute summa number ise. Näiteks 153 on Armstrongi arv, sest
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Samamoodi on 1634 Armstrongi number, kuna:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Näide 1: kontrollige Armstrongi kolme numbri arvu
// 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äljund
Sisestage kolmekohaline positiivne täisarv: 153 153 on Armstrongi arv.
Ülaltoodud programm võtab kasutajalt sisendi. Siis,
- Kasutaja sisestatud number salvestatakse ajutisse muutujasse
temp
. while
Loop kasutatakse itereerida kolmekohalise väärtus.- Moodul operaator
%
saamiseks kasutati iga-kohaline number. Kui number on jagatud 10 , ülejäänud on viimane number. Esimesel kordusel153 % 10
annab 3 . - Ülejäänud numbri kuup arvutatakse, korrutades numbri kolm korda. Ja kuup lisatakse
sum
muutujale. - Numbri jagatakse 10 eemaldada viimane number.
while
Loop jätkub iterating jagades number 10 kuni soovitud arv on 0 .
- Moodul operaator
- Lõpuks võrreldakse summat kasutaja sisestatud numbriga. Kui summa ja arv on võrdsed, on see number Armstrongi arv.
Märkus : ülaltoodud programmis sai arvu kuubi arvutada eksponentoperaatori abil **
. Näiteks,sum += remainder ** 3;
Näide 2: kontrollige Armstrongi arvu n numbrit
// 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äljund
Sisestage positiivne täisarv: 92727 92727 on Armstrongi arv
Ülaltoodud programmis kontrollitakse Armstrongi arvu n numbrit.
Kui kasutaja sisestab numbri, võetakse see stringina. length
Vara tagastab pikkus string.
Kasutaja sisestatud number salvestatakse temp
muutujasse. Ja while
tsüklit kasutatakse kordamiseks, kuni selle väärtus on väiksem kui 0 . Iga numbri arv tõstetakse arvu pikkuse astmeks.