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.

Essayez dans l'éditeur

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}")
Sortie terminale
 153 -> Armstrong
 370 -> Armstrong
9474 -> Armstrong
 123 -> Not Armstrong

Mise 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).

Sujets connexes