输入一个整数,输出小于等于该整数的所有水仙花数,每行输出一个,若没有水仙花数则输出“none”
时间: 2024-06-17 09:02:36 浏览: 231
java上机实验一
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是实现输入一个整数,输出小于等于该整数的所有水仙花数的算法:
```python
def narcissistic_numbers(n):
result = []
for num in range(1, n+1):
= [int(d) for d in str(num)]
sum_of_powers = sum([d**len(digits) for d in digits])
if sum_of_powers == num:
result.append(num)
return result
n = int(input("请输入一个整数:"))
numbers = narcissistic_numbers(n)
if len(numbers) == 0:
print("none")
else:
for num in numbers:
print(num)
```
阅读全文