输入两个整数m和n(1<=m<=n<=1000)要求输出所有在给定范围内的完全平方数,如果有多个就要按从小到大排列出来,如果没有就输出no输入使用input()输出使用print打印结果即可
时间: 2024-10-10 21:14:13 浏览: 37
你可以使用 Python 编写一个简单的程序来解决这个问题。首先,你需要遍历从 m 到 n 的整数范围,检查每个数是否是完全平方数。如果是,将其添加到结果列表中。如果在指定范围内找不到任何完全平方数,则输出 "no"。以下是完整的代码:
```python
def find_square_numbers(m, n):
# 定义一个空列表来存储完全平方数
perfect_squares = []
# 遍历 m 到 n 的整数
for num in range(m, n + 1):
# 检查 num 是否等于其平方根的平方
sqrt_num = int(num ** 0.5)
if sqrt_num * sqrt_num == num:
perfect_squares.append(num)
# 如果找到完全平方数,按照从小到大的顺序打印
if perfect_squares:
perfect_squares.sort()
print("在范围 {} 到 {} 内的所有完全平方数为:{}".format(m, n, ' '.join(str(i) for i in perfect_squares)))
else:
print("no")
# 获取用户输入
m, n = map(int, input("请输入两个整数 (m <= n),用逗号分隔:").split(','))
# 调用函数
find_square_numbers(m, n)
```
当用户输入 m 和 n 的值时,程序会输出相应范围内的完全平方数,如果没有,就会显示 "no"。
阅读全文