Programme Python pour vérifier le numéro Armstrong

Dans cet exemple, vous apprendrez à vérifier si un entier à n chiffres est un nombre Armstrong ou non.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation Python suivants:

  • Instruction Python if… else
  • Python tout en boucle

Un entier positif est appelé un nombre Armstrong d'ordre n si

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

Dans le cas d'un nombre Armstrong de 3 chiffres, la somme des cubes de chaque chiffre est égale au nombre lui-même. Par exemple:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 est un nombre Armstrong. 

Code source: Vérifiez le numéro Armstrong (pour 3 chiffres)

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

Sortie 1

 Entrez un nombre: 663663 n'est pas un nombre Armstrong 

Sortie 2

 Entrez un nombre: 407407 est un nombre Armstrong 

Ici, nous demandons à l'utilisateur un numéro et vérifions s'il s'agit d'un numéro Armstrong.

Nous devons calculer la somme du cube de chaque chiffre. Ainsi, nous initialisons la somme à 0 et obtenons chaque numéro de chiffre en utilisant l'opérateur de module%. Le reste d'un nombre lorsqu'il est divisé par 10 est le dernier chiffre de ce nombre. Nous prenons les cubes en utilisant l'opérateur exposant.

Enfin, nous comparons la somme avec le nombre d'origine et concluons qu'il s'agit du nombre d'Armstrong s'ils sont égaux.

Code source: Vérifiez le nombre Armstrong de n chiffres

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

Vous pouvez modifier la valeur de num dans le code source et exécuter à nouveau pour le tester.

Articles intéressants...