用pyhton语言实现水仙花数代码
时间: 2024-10-23 22:17:43 浏览: 28
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的函数,用于检查一个整数是否为水仙花数:
```python
def is_lychrel_number(num):
# 将数字转换为字符串便于处理每一位
num_str = str(num)
# 检查如果位数少于3,直接返回False,因为它不可能是水仙花数
if len(num_str) < 3:
return False
# 循环判断,每次将最后一位移到前面并计算立方和
for _ in range(100): # 可以设置更大的循环次数,但一般最多只有一位数会改变
temp_num = int(num_str[-1]) * 100 + int(num_str[-2]) * 10 + int(num_str[-3])
num_str = str(temp_num)
# 如果新生成的数字与原数字相等,则不是水仙花数,返回False
if num == int(num_str):
return False
# 遍历完成后,说明这个数是水仙花数,返回True
return True
# 测试几个数字
print(is_lychrel_number(153)) # 输出:True
print(is_lychrel_number(123)) # 输出:False
```
阅读全文