定义函数isNarcissus(n:int):bool,判断一个数是否是水仙花数,是水仙花数则返回True,否则返回False。在测试函数main()中用循环将三位数的水仙花数筛选出来
时间: 2024-05-12 07:20:08 浏览: 76
c++基础练习题及解答细节全解.docx
5星 · 资源好评率100%
水仙花数指的是一个n位数,其各个位上数字的n次方之和等于这个数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是代码实现:
```python
def isNarcissus(n: int) -> bool:
"""
判断一个数是否是水仙花数
"""
num_str = str(n)
n_len = len(num_str)
total = 0
for i in range(n_len):
total += int(num_str[i]) ** n_len
return total == n
def main():
"""
筛选三位数的水仙花数
"""
for i in range(100, 1000):
if isNarcissus(i):
print(i)
if __name__ == '__main__':
main()
```
输出结果为:
```
153
370
371
407
```
阅读全文