Tässä esimerkissä opit kirjoittamaan ohjelman JavaScriptin avulla tarkistamaan, onko numero Armstrongin numero vai ei.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista JavaScript-ohjelmoinnin aiheista:
- JavaScript-operaattorit
- JavaScript taas ja tee … samalla kun silmukka
Positiivista kokonaislukua kutsutaan Armstrong-luvuksi (järjestys n), jos
abcd… = a n + b n + c n + d n +…
Armstrongin 3-numeroisen lukumäärän kohdalla kunkin numeron kuutioiden summa on yhtä suuri kuin itse numero. Esimerkiksi 153 on Armstrong-luku, koska
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Vastaavasti 1634 on Armstrong-luku, koska:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Esimerkki 1: Tarkista Armstrongin kolmen numeron määrä
// 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.`); )
Tuotos
Syötä kolminumeroinen positiivinen kokonaisluku: 153153 on Armstrongin luku.
Yllä oleva ohjelma ottaa käyttäjän panoksen. Sitten,
- Käyttäjän syöttämä numero tallennetaan väliaikaiseen muuttujaan
temp
. while
Silmukkaa käytetään iteroimaan kolminumeroinen arvo.- Moduuli operaattori
%
käytetään hankkimaan kunkin numeron numero. Kun numero jaetaan 10: llä , loppuosa on viimeinen numero. Ensimmäisessä iteraatiossa153 % 10
antaa 3 . - Jäljellä olevan numeron kuutio lasketaan kertomalla luku kolme kertaa. Ja kuutio lisätään
sum
muuttujaan. - Numero jaetaan 10: llä viimeisen numeron poistamiseksi.
while
Silmukka jatkuu iteroimalla ja jakamalla numero 10 , kunnes numero on 0 .
- Moduuli operaattori
- Lopuksi summaa verrataan käyttäjän syöttämään numeroon. Jos summa ja luku ovat samat, luku on Armstrongin luku.
Huomaa : Edellä olevassa ohjelmassa luvun kuutio voitiin laskea eksponenttioperaattorilla **
. Esimerkiksi,sum += remainder ** 3;
Esimerkki 2: Tarkista Armstrongin numeroiden lukumäärä
// 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.`); )
Tuotos
Anna positiivinen kokonaisluku: 92727 92727 on Armstrongin luku
Edellä olevassa ohjelmassa tarkistetaan Armstrongin määrä n numeroa.
Kun käyttäjä syöttää numeron, se otetaan merkkijonoksi. length
Omaisuus palauttaa merkkijonon pituuden.
Käyttäjän syöttämä numero tallennetaan temp
muuttujaan. Ja while
silmukkaa käytetään toistamaan, kunnes sen arvo on alle 0 . Jokainen numeron numero korotetaan luvun pituuden voimaksi.