Número de Armstrong en Python
Si unnentero positivo de n dígitos es igual a la de sus dígitosnsuma de las potencias n-ésimas, entonces se dice que el número es un número de Armstrong. Por ejemplo1^3 + 5^3 + 3^3 = 153。
Números de Armstrong hasta 1000:
El siguiente código se utiliza para comprobar si el número ingresado por el usuario es un número de Armstrong:
Ejemplo (Python 3.0+)
# Filename : test.py
# author by : www.example.com
# Python para comprobar si el número ingresado por el usuario es un número de Armstrong
# Obtener el número ingresado por el usuario
num = int(input("Por favor ingrese un número:"))
# Inicializar la variable sum
sum = 0
# Exponente
n = len(str(num))
# Comprobar
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# Mostrar el resultado
if num == sum:
print(num,"es un número de Armstrong")
else:
print(num,"no es un número de Armstrong")
El resultado de ejecutar el código anterior es:
$ python3 test.py 请输入一个数字: 345 345 不是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 153 153 是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 1634 1634 是阿姆斯特朗数
Obtener números de Armstrong en un rango especificado
Ejemplo (Python 3.0+)
# Filename :test.py
# author by : www.example.com
# Obtener el número ingresado por el usuario
lower = int(input("Valor mínimo:"))
upper = int(input("Valor máximo:"))
for num in range(lower,upper + 1):
# Inicializar sum
sum = 0
# Exponente
n = len(str(num))
# Comprobar
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num)
El resultado de ejecutar el código anterior es:
最小值: 1 最大值: 10000 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
En el ejemplo anterior, hemos mostrado los números de Armstrong entre 1 y 10000.
Otras extensiones
Ejemplos de Python3