python中实现水仙花
时间: 2024-11-05 22:31:11 浏览: 22
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
你可以通过编写一个简单的函数来检查一个给定的整数是否是水仙花数。下面是一个示例函数:
```python
def is_lychrel(num):
# 将输入转换为字符串以便逐位操作
num_str = str(num)
# 遍历不超过10次,因为我们通常最多需要考虑三位数
for _ in range(10):
# 对每位数字求立方并加总
digits_cubed = [int(digit) ** 3 for digit in num_str]
temp_num = sum(digits_cubed)
# 如果临时结果与原数相等,说明不是水仙花数,返回False
if temp_num == int(num_str):
return False
# 更新原始数值为临时结果
num_str = str(temp_num)
# 如果没有立即返回False,那么它就是水仙花数,返回True
return True
# 测试几个数字
print(is_lychrel(153)) # 输出: False (因为它不是一个水仙花数)
print(is_lychrel(1634)) # 输出: True (这是一个水仙花数)
```
阅读全文