编写函数判断一个数是否为水仙花数,并编出全部水仙花数
时间: 2024-10-23 19:02:32 浏览: 19
java获取水仙花数并判断一个数是否为水仙花
水仙花数是一种特殊的整数,其各位数字立方之和等于原数本身。例如,153就是一个水仙花数,因为它等于1^3 + 5^3 + 3^3。
在Python中,你可以编写一个函数来检查一个数是否是水仙花数,然后列出所有小于某个给定范围内的水仙花数。下面是一个例子:
```python
def is narcissistic_number(num):
digits = [int(digit) for digit in str(num)]
sum_of_cubes = sum([digit ** 3 for digit in digits])
return num == sum_of_cubes
# 检查并打印所有的水仙花数
limit = 1000 # 可调整范围,比如改为500或更大的数
for num in range(1, limit+1):
if is_narcissistic_number(num):
print(f"{num} 是一个水仙花数")
```
这段代码首先将输入的数字转换为字符串,获取每一位数字,计算它们的立方和,然后比较这个立方和是否与原始数字相等。
如果你想找出更大范围内的水仙花数,只需将`limit`变量设置为你想要查找的最大值即可。
阅读全文