In diesem Beispiel lernen Sie, ein Programm in JavaScript zu schreiben, um zu überprüfen, ob eine Nummer eine Armstrong-Nummer ist oder nicht.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden JavaScript-Programmierthemen kennen:
- JavaScript-Operatoren
- JavaScript while und do… while Loop
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
Beispiel 1: Überprüfen Sie die dreistellige Armstrong-Zahl
// 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.`); )
Ausgabe
Geben Sie eine dreistellige positive Ganzzahl ein: 153 153 ist eine Armstrong-Zahl.
Das obige Programm nimmt eine Eingabe vom Benutzer entgegen. Dann,
- Die vom Benutzer eingegebene Nummer wird in einer temporären Variablen gespeichert
temp
. - Eine
while
Schleife wird verwendet, um einen dreistelligen Wert 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 Iteration153 % 10
ergibt 3 . - Der Würfel der verbleibenden Ziffer wird durch dreimaliges Multiplizieren der Ziffer berechnet. Und der Würfel wird der
sum
Variablen hinzugefügt . - Die Ziffer wird durch 10 geteilt , um die letzte Ziffer zu entfernen.
- Die
while
Schleife iteriert weiter und teilt die Zahl durch 10, bis die Zahl 0 ist .
- Der Moduloperator
- Schließlich wird die Summe mit der vom Benutzer eingegebenen Zahl verglichen. Wenn die Summe und die Zahl gleich sind, ist die Zahl eine Armstrong-Zahl.
Hinweis : Im obigen Programm kann der Würfel einer Zahl mit einem Exponentenoperator berechnet werden **
. Beispielsweise,sum += remainder ** 3;
Beispiel 2: Überprüfen Sie die Armstrong-Anzahl von n Ziffern
// 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.`); )
Ausgabe
Geben Sie eine positive Ganzzahl ein: 92727 92727 ist eine Armstrong-Zahl
Im obigen Programm wird eine Armstrong-Anzahl von n Ziffern überprüft.
Wenn der Benutzer eine Nummer eingibt, wird diese als Zeichenfolge verwendet. Die length
Eigenschaft gibt die Länge einer Zeichenfolge zurück.
Die vom Benutzer eingegebene Nummer wird in einer temp
Variablen gespeichert . Und eine while
Schleife wird verwendet, um zu iterieren, bis ihr Wert kleiner als 0 ist . Jede Ziffer der Zahl wird um die Potenz der Länge der Zahl angehoben.