编写一个函数selfidem(n),以大于1的正整数n为参数,返回n位数中符合自幂数要求的数的列表。 1个n位自幂数满足每一位数的n次方相加等于这个数本身。利用该函数编程找出3位数中的水仙花数。 提醒:输出语句为:print(selfidem(3))
时间: 2024-02-01 09:14:33 浏览: 73
以下是实现selfidem(n)函数的Python代码:
```python
def selfidem(n):
result = []
for i in range(10**(n-1), 10**n):
s = sum([int(digit)**n for digit in str(i)])
if s == i:
result.append(i)
return result
```
然后可以调用该函数找出3位数中的水仙花数,即调用selfidem(3):
```python
print(selfidem(3))
```
输出为:
```
[153, 370, 371, 407]
```
其中的四个数153、370、371和407都是3位数的自幂数,也称为水仙花数。
阅读全文