Vérificateur de nombres Python Armstrong
Vérifiez si un nombre est un nombre d'Armstrong (narcissique) où la somme de ses propres chiffres élevée à la puissance du nombre de chiffres est égale au nombre lui-même.
Aperçu
Un nombre d'Armstrong (également connu sous le nom de nombre invariant numérique narcissique ou plus-que-parfait) est un nombre à n chiffres égal à la somme des nièmes puissances de ses chiffres.
Par exemple, 153 est un nombre d'Armstrong à 3 chiffres car 1^3 + 5^3 + 3^3 = 153. De même, 9474 est un nombre d'Armstrong à 4 chiffres car 9^4 + 4^4 + 7^4 + 4^4 = 9474.
Nous implémentons cela en Python en convertissant l'entier en chaîne pour compter facilement le nombre de chiffres et parcourir chaque chiffre.
Sortie de code et d'exécution
Vérifiez une série de nombres pour déterminer s’ils répondent aux critères mathématiques des nombres d’Armstrong.
def is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}") 153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not ArmstrongMise en œuvre étape par étape
- Recherche en théorie des nombres et exercices de logique
- Devoirs de programmation mathématique en classe
- Programmation récréative
Foire aux questions
Tous les nombres à un chiffre sont-ils des nombres Armstrong ?
Oui. Tout chiffre élevé à la puissance 1 est égal à lui-même (par exemple, 5^1 = 5).