找到并输出所有的水仙花数,分别用while和for语句实现。(水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身)
时间: 2024-09-19 12:10:35 浏览: 56
水仙花数是一种特殊的整数特性,其特点是各个位上的数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
下面是使用while和for循环分别寻找水仙花数的Python代码:
**使用while循环实现:**
```python
def find_water_lily_numbers(start, end):
num = start
while num >= start and num <= end:
digits = [int(digit) for digit in str(num)]
if sum([digit ** 3 for digit in digits]) == num:
print(num)
num += 1
# 设置查找范围,比如从100到999
find_water_lily_numbers(100, 999)
```
**使用for循环实现:**
```python
def find_water_lily_numbers(start, end):
for num in range(start, end+1):
digits = [int(digit) for digit in str(num)]
if sum([digit ** 3 for digit in digits]) == num:
print(num)
# 同样设置查找范围
find_water_lily_numbers(100, 999)
```
以上两个函数都会打印出指定范围内所有的水仙花数。
阅读全文