Java-Programm zur Überprüfung der Armstrong-Nummer

In diesem Programm lernen Sie zu überprüfen, ob eine bestimmte Nummer eine Armstrong-Nummer ist oder nicht. Sie lernen dies, indem Sie eine for-Schleife und eine while-Schleife in Java verwenden.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java während und mache … während Loop
  • Java if… else-Anweisung
  • Java für Loop

Eine positive ganze Zahl heißt Armstrong-Zahl der Ordnung n, 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. Beispielsweise:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 ist eine Armstrong-Zahl. 

Beispiel 1: Überprüfen Sie die Armstrong-Nummer auf eine dreistellige Nummer

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Ausgabe

 371 ist eine Armstrong-Nummer.
  • Zunächst wird der Wert einer bestimmten Zahl (Zahl) in einer anderen ganzzahligen Variablen, originalNumber, gespeichert. Dies liegt daran, dass wir die Werte der endgültigen Nummer und der ursprünglichen Nummer am Ende vergleichen müssen.
  • Dann wird eine while-Schleife verwendet, um die ursprüngliche Nummer zu durchlaufen, bis sie gleich 0 ist.
    • Bei jeder Iteration wird die letzte Ziffer von num im Rest gespeichert.
    • Dann wird der Rest mit der Math.pow()Funktion um 3 (Anzahl der Stellen) gespeist und zum Ergebnis addiert.
    • Dann wird die letzte Ziffer nach der Division durch 10 aus originalNumber entfernt.
  • Schließlich werden Ergebnis und Anzahl verglichen. Wenn gleich, ist es eine Armstrong-Zahl. Wenn nicht, ist es nicht.

Beispiel 2: Überprüfen Sie die Armstrong-Nummer auf n Ziffern

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Ausgabe

 1634 ist eine Armstrong-Nummer.

In diesem Programm haben wir anstelle der while-Schleife zwei for-Schleifen verwendet.

Die erste for-Schleife wird verwendet, um die Anzahl der Stellen in der Nummer zu zählen. Es ist die kondensierte Form von:

 für (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Die zweite for-Schleife berechnet dann das Ergebnis, wobei bei jeder Iteration der Rest durch die Anzahl der Ziffern n angetrieben wird.

Besuchen Sie diese Seite, um zu erfahren, wie Sie alle starken Zahlen zwischen zwei Intervallen anzeigen können.

Interessante Beiträge...