1.编写函数,判断一个数是否为水仙花数。调用该函数打印出1000以内的所有水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如:13+53+33=153,则153是水仙花数。水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
时间: 2024-06-08 21:05:23 浏览: 75
c代码-打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
可以先编写一个判断函数:
```python
def is_narcissistic_number(num):
# 将数字转化为字符串,方便遍历每一位数字
num_str = str(num)
# 计算每一位数字的n次幂之和
sum = 0
for i in num_str:
sum += int(i) ** len(num_str)
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
```
然后调用该函数,打印出1000以内的所有水仙花数:
```python
for i in range(100, 1000):
if is_narcissistic_number(i):
print(i)
```
输出结果:
```
153
370
371
407
```
阅读全文