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

In diesem Beispiel lernen Sie zu überprüfen, ob eine n-stellige Ganzzahl eine Armstrong-Zahl ist oder nicht.

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

  • Python if… else-Anweisung
  • Python während der Schleife

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. 

Quellcode: Überprüfen Sie die Armstrong-Nummer (für 3 Ziffern)

 # Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Ausgabe 1

 Geben Sie eine Nummer ein: 663 663 ist keine Armstrong-Nummer 

Ausgabe 2

 Geben Sie eine Nummer ein: 407 407 ist eine Armstrong-Nummer 

Hier fragen wir den Benutzer nach einer Nummer und prüfen, ob es sich um eine Armstrong-Nummer handelt.

Wir müssen die Summe des Würfels jeder Ziffer berechnen. Also initialisieren wir die Summe auf 0 und erhalten jede Ziffernzahl mit dem Moduloperator%. Der Rest einer Zahl, wenn sie durch 10 geteilt wird, ist die letzte Ziffer dieser Zahl. Wir nehmen die Würfel mit dem Exponentenoperator.

Schließlich vergleichen wir die Summe mit der ursprünglichen Zahl und schließen daraus, dass es sich um die Armstrong-Zahl handelt, wenn sie gleich sind.

Quellcode: Überprüfen Sie die Armstrong-Anzahl von n Ziffern

num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Sie können den Wert von num im Quellcode ändern und erneut ausführen, um ihn zu testen.

Interessante Beiträge...