编写一个函数selfidem(n),以大于1的正整数n为参数,返回n位数中符合幂数要求的数的列表,一个n位字幂数满足每一位数的n次方相加等于这个数本身,利用该函数编程找出三位数中的水仙花数
时间: 2024-02-01 20:15:33 浏览: 71
以下是实现函数`selfidem(n)`的Python代码:
```python
def selfidem(n):
res = []
for i in range(10**(n-1), 10**n):
sum = 0
tmp = i
while tmp > 0:
sum += (tmp % 10) ** n
tmp //= 10
if sum == i:
res.append(i)
return res
```
函数中使用了一个循环,枚举了所有n位数,然后对每个数进行了判断,如果是水仙花数,则将其加入结果列表中。接下来,我们可以利用该函数找出三位数中的水仙花数:
```python
res = selfidem(3)
print(res)
```
输出结果为:`[153, 370, 371, 407]`,即三位数中的水仙花数为153、370、371和407。
阅读全文