输出所有的水仙花数,水仙花数是指一个3位数,其各个位上数字立方和等于其本身 例如:153 = 1*1*1 + 3*3*3 + 5*5*5 使用for和while2种语法进行代码书写
时间: 2024-09-18 21:06:47 浏览: 37
水仙花数,也称为 narcissistic number 或 pluperfect digital invariant,是一个三位正整数,它的每个位上的数字的三次幂之和等于该数字本身。例如,153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是使用 for 循环和 while 循环分别实现查找水仙花数的 Python 代码示例:
**使用 for 循环:**
```python
def find_narcissistic_numbers(start, end):
for num in range(start, end+1):
if is_narcissistic(num):
print(num)
def is_narcissistic(n):
return n == sum(int(digit) ** 3 for digit in str(n))
# 范围限制在100到999之间,因为只考虑三位数
find_narcissistic(100, 999)
```
**使用 while 循环:**
```python
start = 100
end = 999
current_num = start
while current_num <= end:
if is_narcissistic(current_num):
print(current_num)
current_num += 1
def is_narcissistic(n):
return n == sum(int(digit) ** 3 for digit in str(n))
```
阅读全文