Nombre d'Armstrong en Python
Si unnentier positif à n chiffres est égal à lansomme des puissances de ses chiffres, alors le nombre est appelé nombre d'Armstrong.1^3 + 5^3 + 3^3 = 153。
Nombres d'Armstrong inférieurs à 1000 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407.
Le code suivant permet de vérifier si le nombre saisi par l'utilisateur est un nombre d'Armstrong :
Exemple (Python 3.0+)
# Nom du fichier : test.py
# auteur : www.example.com
# Python vérifie si le nombre saisi par l'utilisateur est un nombre d'Armstrong
# Obtenir le nombre saisi par l'utilisateur
num = int(input("Veuillez saisir un nombre :"))
# Initialiser la variable sum
sum = 0
# Exposant
n = len(str(num))
# Vérifier
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# Afficher le résultat
if num == sum:
print(num,"est un nombre Armstrong")
else:
print(num,"n'est pas un nombre Armstrong")
L'exécution du code ci-dessus produit la sortie suivante :
$ python3 test.py 请输入一个数字: 345 345 不是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 153 153 是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 1634 1634 是阿姆斯特朗数
Obtenir les nombres Armstrong dans un intervalle spécifié
Exemple (Python 3.0+)
# Nom du fichier :test.py
# auteur : www.example.com
# Obtenir les nombres saisis par l'utilisateur
lower = int(input("Valeur minimale :"))
upper = int(input("Valeur maximale :"))
for num in range(lower,upper + 1):
# Initialiser la somme
sum = 0
# Exposant
n = len(str(num))
# Check
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num)
L'exécution du code ci-dessus produit la sortie suivante :
最小值: 1 最大值: 10000 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
Dans l'exemple ci-dessus, nous affichons les nombres d'Armstrong entre 1 et 10000.
Autres extensions
Exemples Python3