python代码输入两个三位数m和n,输出m和n之间的水仙花数。水仙花数是一个3位数,各位数字的立方和等于该数本身,如153=13+53+33。若无水仙花数,输出NO
时间: 2023-06-06 17:07:22 浏览: 55
抱歉,我可以回答这个问题。下面是 Python 代码实现:
```python
m = int(input("请输入一个三位数m:"))
n = int(input("请输入一个三位数n:"))
flag = False # 是否输出了水仙花数
for i in range(m, n+1):
a, b, c = i // 100, (i % 100) // 10, i % 10
if i == (a**3 + b**3 + c**3):
print(i, end=' ')
flag = True
if not flag:
print("NO")
```
注:以上代码可以在 Python3 中运行。
相关问题
输入一个水仙花数是一个三位数每位数的立方和等于原值用python编程
可以使用以下代码来判断一个三位数是否为水仙花数:
num = int(input("请输入一个三位数:"))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
请注意,这段代码只能判断三位数是否为水仙花数,如果需要判断更多位数的数是否为水仙花数,需要进行相应的修改。
输出所有的水仙花数。水仙花数是一个3位数用python
水仙花数是指一个 n 位数 ( n ≥ 3 ),它的每个位上的数字的 n 次幂之和等于它本身。因此,一个 3 位数如果是水仙花数,则满足如下条件:
$abc = a^3 + b^3 + c^3$
我们可以使用循环语句遍历所有的 3 位数,并判断其是否满足上述条件。
下面是一个示例代码:
```python
for num in range(100, 1000):
# 分解出各位数字
a = num // 100
b = (num % 100) // 10
c = num % 10
# 判断是否为水仙花数
if num == a**3 + b**3 + c**3:
print(num)
```
输出结果为:
```
153
370
371
407
```