In dit voorbeeld leert u een programma in JavaScript te schrijven om een Armstrong-getal tussen twee gehele getallen te vinden.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:
- JavaScript voor loop
Een positief geheel getal wordt een Armstrong-getal (van orde n ) genoemd als:
abcd … = een n + b n + c n + d n + …
In het geval van een Armstrong-nummer van 3 cijfers, is de som van blokjes van elk cijfer gelijk aan het nummer zelf. Bijvoorbeeld, 153 is een Armstrong kiest, omdat:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Evenzo is 1634 een Armstrong-nummer omdat:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Voordat u dit programma uitprobeert, gaat u naar het JavaScript-programma om Armstrong-nummer te controleren.
Voorbeeld: Armstrong-nummers tussen twee intervallen
// program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )
Uitvoer
Voer een positief laag geheel getal in: 8 Voer een positief hoog geheel getal in: 500 Armstrong-nummers: 8 9153370371407
In het bovenstaande programma wordt de gebruiker gevraagd om twee gehele getallen in te voeren. Een daarvan is het lagere gehele interval en een andere is de hogere gehele waarde.
Het parseInt()
converteert de numerieke tekenreekswaarde naar een geheel getal.
De for
lus wordt gebruikt om door de twee nummers te lopen die door de gebruiker zijn verstrekt.
De toString()
methode wordt gebruikt om het getal om te zetten in een string. En de length
eigenschap wordt gebruikt om de lengte van een string te vinden. length
Geeft in dit geval dus het totale aantal cijfers in het nummer.
let numberOfDigits = i.toString().length;
In de eerste for
lus iteratie ( i = 8 ),
- Het lagere nummer dat de gebruiker invoert, wordt opgeslagen in een tijdelijke variabele
temp
. - Er
while
wordt een lus gebruikt om het nummer te herhalen.- De modulus-operator
%
wordt gebruikt om elk cijfer te verkrijgen. Als een getal wordt gedeeld door 10 , is de rest het laatste cijfer. In de eerste iteratie8 % 10
geeft dit 8 . - De rest wordt vermenigvuldigd met het aantal cijfers in dat nummer (hier 1 ) en de som wordt berekend.
- Het cijfer wordt gedeeld door 10 om het laatste cijfer te verwijderen, dwz
8 / 10
0.
- De modulus-operator
- Ten slotte wordt de som vergeleken met het aantal dat door de gebruiker is ingevoerd. Als de som en het aantal gelijk zijn, wordt het Armstrong-nummer weergegeven.
De lus gaat door voor alle nummers die zich tussen de onder- en bovengrenzen bevinden die door de gebruiker zijn opgegeven. In het bovenstaande voorbeeld wordt de lus uitgevoerd van 8 tot 500 .