摘要:水仙花数(也叫阿姆斯特朗数)是指一个 n 位数,其每个位上的数字的 n 次幂之和等于其本身。对于三位数的水仙花数,其特性是每个数字的立方和等于该数本身。下面是一个Python程序,它会输出所有的三位数的水仙花数:```pyt...
水仙花数(也叫阿姆斯特朗数)是指一个 n 位数,其每个位上的数字的 n 次幂之和等于其本身。对于三位数的水仙花数,其特性是每个数字的立方和等于该数本身。
下面是一个Python程序,它会输出所有的三位数的水仙花数:
```python
# 遍历所有的三位数
for num in range(100, 1000):
# 每个位上的数字
hundreds = num // 100 # 百位
tens = (num // 10) % 10 # 十位
ones = num % 10 # 个位
# 判断是否为水仙花数
if num == hundreds 3 + tens 3 + ones 3:
print(num)
```
程序运行后输出的所有三位水仙花数如下:
```
153
370
371
407
```
解释:
- `153`: \(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153\)
- `370`: \(3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370\)
- `371`: \(3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371\)
- `407`: \(4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407\)
这个程序通过遍历所有的三位数,并计算每个数字的立方和,与其本身做比较,最后输出所有满足条件的水仙花数。