python输入一个整数,判断其是否是水仙花数。 对每个输入,输出一行。如果是水仙花数,就输出True;如果不是,就输出False。
时间: 2024-12-25 18:36:38 浏览: 16
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
你可以编写如下的函数来判断一个整数是否是水仙花数:
```python
def is_lychrel_number(n):
# 将数字转换为字符串以便取各个位数
str_n = str(n)
# 初始步骤计数器
steps = 0
# 循环直到数字不变或者超过10步
while n != int(str_n) and steps < 10:
# 计算当前数字的各位立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str_n)
# 更新数字
n = sum_of_cubes
# 继续下一轮循环
steps += 1
# 如果经过10步后数字仍没变,它是水仙花数
if n == int(str_n):
return True
else:
return False
# 输入整数并检查是否是水仙花数
num = int(input("请输入一个三位数: "))
result = is_lychrel_number(num)
if result:
print(f"{num} 是水仙花数 (True)")
else:
print(f"{num} 不是水仙花数 (False)")
阅读全文