编写完整代码,输入两个正整数m和n(100<=m<=n<1000),统计并输出m和n之间的水仙花数。要求,自定义并调用函数int flower(int num)判断其是否为水仙花数。输出格式要求:从小到大排列在一行内输出,之间用一个空格隔开;当m和n之间无水仙花数,则输出为“No”。
时间: 2023-05-28 10:07:19 浏览: 285
水仙花数的代码
```python
def flower(num):
# 计算num的每一位数字
a = num // 100
b = num // 10 % 10
c = num % 10
# 判断是否为水仙花数
if num == a ** 3 + b ** 3 + c ** 3:
return True
else:
return False
m, n = map(int, input().split())
flag = False # 标记是否有水仙花数
for i in range(m, n+1):
if flower(i):
print(i, end=' ')
flag = True
if not flag:
print('No')
```
注:题目中所谓的水仙花数指的是一个三位数,其各位数字的立方和等于该数本身,例如153 = 1^3 + 5^3 + 3^3。
阅读全文