Python中用大于1的正整数n为参数的函数输出所有水仙花数
时间: 2024-02-01 12:15:20 浏览: 110
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个Python函数,可以输出所有n位的水仙花数:
```python
def narcissistic_number(n):
for i in range(10**(n-1), 10**n):
num = i
sum = 0
while num > 0:
digit = num % 10
sum += digit ** n
num //= 10
if i == sum:
print(i)
```
使用示例:
```python
narcissistic_number(3) # 输出所有3位的水仙花数
```
输出结果:
```
153
370
371
407
```
阅读全文