编写一个函数,用来判断一个三位数是否是水仙花数
时间: 2024-11-12 17:42:08 浏览: 5
C语言程序设计-调用函数fun判断一个三位数是否水仙花数;在main函数中从键盘输入一个三位数,并输出判断结果
5星 · 资源好评率100%
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
你可以编写一个Python函数来验证这一点,首先将数字分解成百位、十位和个位,然后计算它们各自的立方并求和,最后比较这个总和是否与原数相等。以下是这样的函数实现:
```python
def is_lychrel_number(num):
digits = [int(digit) for digit in str(num)] # 将数字转换为列表
sum_of_cubes = sum([digit**3 for digit in digits]) # 计算每一位的立方和
n = num
for _ in range(10): # 验证10次,通常水仙花数最多需要这么多次尝试
n, sum_of_cubes = sum_of_cubes, n - sum_of_cubes
if n == sum_of_cubes and len(str(n)) == 3: # 水仙花数条件
return True
return False
# 测试
test_num = 153
print(is_lychrel_number(test_num)) # 输出:True
```
这个函数会先检查一个三位数是否满足水仙花条件,如果不,则继续迭代更新数字和立方和,直到达到最大尝试次数或找到水仙花数为止。
阅读全文