创建一个判断函数,接受一个正整数参数n(n>=100),判断这个数是否为水仙花数。 水仙花数:满足如果这个数为m位数,则每个位上的数字的m次幂之和等于它本身例如:1^3+5^3+3^3=153, 1^4+6^4+3^4+4^4=1634 结果返回True或者False。 请编写一个程序,接受一个参数max(max>=1000),调用上面编写的判断函数,求 100到max之间的水仙花数。
时间: 2024-02-17 14:05:22 浏览: 103
JS判断一个数是否是水仙花数
好的,以下是Python的代码实现:
```python
def is_narcissistic_number(n):
"""
判断一个数是否为水仙花数
"""
str_n = str(n)
m = len(str_n)
sum = 0
for i in str_n:
sum += int(i) ** m
return sum == n
def find_narcissistic_numbers(max):
"""
在100到max之间查找水仙花数
"""
res = []
for i in range(100, max+1):
if is_narcissistic_number(i):
res.append(i)
return res
max = int(input("请输入max的值(max>=1000):"))
res = find_narcissistic_numbers(max)
print("100到{}之间的水仙花数为:{}".format(max, res))
```
你可以直接运行这段代码,并输入一个大于等于1000的整数max,程序将输出100到max之间的所有水仙花数。
阅读全文