水仙花数(Narcissistic number)是指一个 n 位数(n≥3),其各个位上数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
下面是一个Python程序,用来输出所有的三位数的水仙花数:
for num in range(100, 1000):
# 将数字转换为字符串,以便进行迭代
num_str = str(num)
# 取出个位、十位和百位上的数字
digit1 = int(num_str[0])
digit2 = int(num_str[1])
digit3 = int(num_str[2])
# 计算数字的立方和
sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
# 如果立方和等于原数字,则输出该数字为水仙花数
if sum_of_cubes == num:
print(num)
运行以上代码,将输出所有的三位数的水仙花数:153, 370, 371, 407。