用for循环实现三位数中水仙花数的寻找
时间: 2023-11-01 12:05:37 浏览: 96
水仙花数指一个三位数,其各位数字的立方和等于该数本身。
以下是用for循环实现三位数中水仙花数的寻找的代码:
```python
for i in range(100, 1000):
# 将i拆分成个位、十位、百位
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
```
运行结果:
```
153
370
371
407
```
相关问题
用循环嵌套实现三位数中水仙花数得寻找
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。因此,我们可以使用嵌套循环来查找三位数中的水仙花数。
具体实现如下:
```
for i in range(100, 1000):
# 分离出百位、十位和个位数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 计算立方和
sum = a**3 + b**3 + c**3
# 判断是否为水仙花数
if sum == i:
print(i)
```
以上代码中,首先使用 `range` 函数生成从 100 到 999 的所有三位数,然后分别将其百位、十位和个位数字分离出来,计算立方和并判断是否等于原数。如果是水仙花数,则将其输出。
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:13 + 53+ 33 = 153,那么153就是水仙花数。分别用for循环和循环嵌套实现三位数中水仙花数的寻找。
使用for循环的实现方法:
```python
for i in range(100, 1000):
# 分解出每个位上的数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
使用循环嵌套的实现方法:
```python
for i in range(1, 10):
for j in range(0, 10):
for k in range(0, 10):
# 计算当前的数值
num = i * 100 + j * 10 + k
# 判断是否为水仙花数
if i**3 + j**3 + k**3 == num:
print(num)
```
两种方法的输出结果都是:
```
153
370
371
407
```
阅读全文