水仙花数,也称为自恋数、自幂数或阿姆斯壮数,是一个n位数,它的每个位上的数字的n次幂之和等于它本身。
例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
is_armstrong_number()
函数用于检查一个数字是否为水仙花数。
def is_armstrong_number(n):
num_str = str(n)
power = len(num_str)
total = sum(int(digit) ** power for digit in num_str)
return total == n
# 找出所有的3位水仙花数
for num in range(100, 1000):
if is_armstrong_number(num):
print(num, end=" ")
运行此代码将输出所有的3位水仙花数:
153 370 371 407