输出所有的“水仙花数”。“水仙花数”是指一个3位数,其各位数字的三次方和等于该数本身。例如,153=13+5+3。
时间: 2024-11-03 15:19:58 浏览: 36
shuixianhua.rar_shuixianh_shuixianhua_水仙花_水仙花数MATLAB_求数字位数
"水仙花数"是指一个三位正整数,它的每个位上的数字分别立方之后相加,如果得到的结果仍然等于原来的数,那么这个数就是水仙花数。比如153就是一个水仙花数,因为\(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153\)。
在Python中,我们可以编写一个简单的循环来找出所有小于1000的水仙花数:
```python
def find_water_lily_numbers(n):
for num in range(100, n): # 我们只查找大于99的三位数
digits = [int(d) for d in str(num)] # 将数转换成列表并提取每一位数字
if sum([d**3 for d in digits]) == num: # 检查每位立方和是否等于原数
print(num)
find_water_lily_numbers(1000)
```
运行这段代码会输出所有水仙花数,直到1000为止。实际上,在1到1000范围内,只有三个水仙花数:153, 370, 和 371。
阅读全文