请输入两个3位正整数 m 和 n,如果 m <= n,则输出区间 [m,n] 内所有水仙花数。如果 m > n,请重新输入。 所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如 153 = 1^3 + 5^3 + 3^3。
时间: 2023-12-23 15:04:32 浏览: 111
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身
5星 · 资源好评率100%
好的,您的问题是如何输出区间 [m,n] 内所有水仙花数,其中 m 和 n 是两个 3 位正整数,且 m <= n。
以下是 Python3 代码实现:
```python
m, n = map(int, input("请输入两个3位正整数,用空格隔开:").split())
if m <= n:
for num in range(m, n+1):
# 将数字转为字符串再转为列表,方便操作每一位数字
digits = list(str(num))
# 计算每一位数字的立方和
sum_of_cubes = sum(int(digit)**3 for digit in digits)
# 如果立方和等于该数本身,则为水仙花数
if sum_of_cubes == num:
print(num)
else:
print("输入错误:m 必须小于等于 n!")
```
希望能对您有所帮助。
阅读全文