水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。比如说,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是一个Python程序,可以打印出所有的水仙花数:
def is_armstrong(num):
num_str = str(num)
n = len(num_str)
total = 0
for digit in num_str:
total += int(digit) ** n
return total == num
for i in range(100, 1000):
if is_armstrong(i):
print(i)
运行这个程序会打印出所有的三位数水仙花数。如果你想打印更多位数的水仙花数,只需要修改range()
函数中的参数。