给出两个整数 n 和 m,请你找出两个整数 a 和 b,并且 a 和 b 需要同时满足以下条件:a+b=n, a % b=m. a和b都大于0小于1e9.如果找不到合法的 a 和 b,输出 −1;否则请输出你找到的 a 和 b。如果有多个可行的答案,请输出任意一个。
时间: 2024-04-15 18:32:10 浏览: 133
我们可以通过穷举的方式来找到符合条件的整数 a 和 b。首先,我们从 a = m 开始递增地尝试,直到找到一个满足 a + b = n 的 a 值。然后,我们将 b = n - a,并检查 a % b 是否等于 m。如果满足条件,则输出找到的 a 和 b,否则输出 -1。
以下是一个示例的 Python 代码实现:
```python
def find_a_and_b(n, m):
for a in range(m, n+1, m):
b = n - a
if a % b == m:
return a, b
return -1
n = int(input("请输入整数 n:"))
m = int(input("请输入整数 m:"))
a, b = find_a_and_b(n, m)
if a == -1:
print(-1)
else:
print(f"a = {a}, b = {b}")
```
请注意,这只是一个示例实现,如果 n 和 m 的范围非常大,穷举的方式可能不够高效。在实际应用中可能需要根据具体情况使用其他算法来解决这个问题。
阅读全文