Python-programma om Armstrong-nummer te controleren

In dit voorbeeld leert u controleren of een n-cijferig geheel getal een Armstrong-getal is of niet.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende programmeeronderwerpen in Python:

  • Python if… else-instructie
  • Python while Loop

Een positief geheel getal wordt een Armstrong-getal van de orde n als genoemd

abcd … = een n + b n + c n + d n + …

In het geval van een Armstrong-nummer van 3 cijfers, is de som van kubussen van elk cijfer gelijk aan het nummer zelf. Bijvoorbeeld:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 is een Armstrong-getal. 

Broncode: controleer Armstrong-nummer (voor 3 cijfers)

 # 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") 

Uitgang 1

 Voer een nummer in: 663663 is geen Armstrong-nummer 

Uitgang 2

 Voer een nummer in: 407407 is een Armstrong-nummer 

Hier vragen we de gebruiker om een ​​nummer en kijken of het een Armstrong-nummer is.

We moeten de som van de kubus van elk cijfer berekenen. We initialiseren de som dus op 0 en verkrijgen elk cijfer met behulp van de modulus-operator%. De rest van een getal wanneer het wordt gedeeld door 10, is het laatste cijfer van dat getal. We nemen de kubussen met behulp van de exponent-operator.

Ten slotte vergelijken we de som met het oorspronkelijke getal en concluderen we dat het een Armstrong-getal is als ze gelijk zijn.

Broncode: controleer het Armstrong-aantal n cijfers

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") 

U kunt de waarde van num in de broncode wijzigen en opnieuw uitvoeren om deze te testen.

Interessante artikelen...