In diesem Beispiel lernen Sie, ein Programm in JavaScript zu schreiben, um eine Armstrong-Zahl zwischen zwei ganzzahligen Werten zu finden.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden JavaScript-Programmierthemen kennen:
- JavaScript für Schleife
Eine positive ganze Zahl wird als Armstrong-Zahl (der Ordnung n ) bezeichnet, wenn:
abcd… = a n + b n + c n + d n +…
Bei einer Armstrong-Zahl mit 3 Ziffern entspricht die Summe der Würfel jeder Ziffer der Zahl selbst. Zum Beispiel ist 153 eine Armstrong-Nummer, weil:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
In ähnlicher Weise ist 1634 eine Armstrong-Nummer, weil:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Bevor Sie dieses Programm ausprobieren, besuchen Sie das JavaScript-Programm, um die Armstrong-Nummer zu überprüfen.
Beispiel: Armstrong-Zahlen zwischen zwei 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); ) )
Ausgabe
Geben Sie einen positiven niedrigen Ganzzahlwert ein: 8 Geben Sie einen positiven hohen Ganzzahlwert ein: 500 Armstrong-Nummern: 8 9 153 370 371 407
Im obigen Programm wird der Benutzer aufgefordert, zwei Ganzzahlen einzugeben. Eine ist die niedrigere Intervall-Ganzzahl und eine andere ist der höhere Ganzzahlwert.
Der parseInt()
konvertiert den numerischen Zeichenfolgenwert in einen ganzzahligen Wert.
Die for
Schleife wird verwendet, um die beiden vom Benutzer bereitgestellten Nummern zu durchlaufen.
Die toString()
Methode wird verwendet, um die Zahl in eine Zeichenfolge umzuwandeln. Die length
Eigenschaft wird verwendet, um die Länge einer Zeichenfolge zu ermitteln. Daher gibt in diesem Fall length
die Gesamtzahl der Ziffern in der Zahl an.
let numberOfDigits = i.toString().length;
In der ersten for
Schleifeniteration ( i = 8 )
- Die vom Benutzer eingegebene niedrigere Nummer wird in einer temporären Variablen gespeichert
temp
. - Eine
while
Schleife wird verwendet, um die Nummer zu iterieren.- Der Moduloperator
%
wird verwendet, um jede Ziffernzahl zu erhalten. Wenn eine Zahl durch 10 geteilt wird , ist der Rest die letzte Ziffer. In der ersten Iteration8 % 10
ergibt sich 8 . - Der Rest wird mit der Anzahl der Stellen in dieser Zahl (hier 1 ) multipliziert und die Summe berechnet.
- Die Ziffer wird durch 10 geteilt , um die letzte Ziffer zu entfernen, dh
8 / 10
0.
- Der Moduloperator
- Schließlich wird die Summe mit der vom Benutzer eingegebenen Zahl verglichen. Wenn die Summe und die Zahl gleich sind, wird die Armstrong-Zahl angezeigt.
Die Schleife wird für alle vom Benutzer angegebenen Zahlen zwischen der Unter- und Obergrenze fortgesetzt. Im obigen Beispiel wird die Schleife von 8 bis 500 ausgeführt .