水仙花数是指一个三位整数,其各位数字的3次方和等于该数本身。 可以用循环从100到999枚举所有三位数,然后判断是否为水仙花数。 问题分析
时间: 2023-05-25 09:03:54 浏览: 128
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:$1^3+5^3+3^3=153$。请编写程序求出100到999之间的所有水仙花数。代码
这道题可以用循环来解决,从100到999枚举所有三位数,对每个数,把它的个位、十位和百位数分别取出来,然后计算它们的3次方和,判断是否等于这个数本身。如果是,就说明这是一个水仙花数。
具体实现可以使用三层循环来枚举所有三位数字,然后使用取模运算和除法操作分别取出它们的个位、十位和百位数,最后计算3次方和并与原数比较即可。
代码实现示例:
```python
for i in range(100, 1000):
# 取出个位、十位和百位数
a = i % 10
b = i // 10 % 10
c = i // 100
# 计算3次方和
sum = a ** 3 + b ** 3 + c ** 3
# 判断是否为水仙花数
if sum == i:
print(i)
```
输出结果为:
153
370
371
407
这些数字是三位水仙花数的全部。
阅读全文