python实现打印出10000以内的所有水仙花数
时间: 2023-05-26 22:05:59 浏览: 250
python 打印出所有的"水仙花数" (示例)
水仙花数指的是一个n位数( n>=3 ),其各位数字的n次方之和等于该数。例如153=1^3+5^3+3^3,153就是一个水仙花数。以下是实现方式:
```python
for num in range(100, 10000):
# 将数字转为字符串
num_str = str(num)
# 计算该数字的位数
length = len(num_str)
# 初始化位数之和
sum = 0
for i in num_str:
# 将每位数字转为整型,并计算其n次方之和
sum += int(i) ** length
# 如果该数字等于位数之和,则打印出来
if(num == sum):
print(num)
```
输出结果为:
```
153
370
371
407
1634
8208
9474
```
阅读全文