CF1872C Non-coprime Split
题目描述
给定两个整数 $l \le r$,你需要找到正整数 $a$ 和 $b$,使得同时满足以下条件:
- $l \le a + b \le r$
- $\gcd(a, b) \neq 1$
或者报告不存在这样的 $a$ 和 $b$。
$\gcd(a, b)$ 表示数 $a$ 和 $b$ 的最大公约数。例如,$\gcd(6, 9) = 3$,$\gcd(8, 9) = 1$,$\gcd(4, 2) = 2$。
输入格式
输入的第一行包含一个整数 $t$($1 \le t \le 500$),表示测试用例的数量。
接下来每个测试用例包含一行,包含两个整数 $l, r$($1 \le l \le r \le 10^7$)。
输出格式
对于每个测试用例,输出一行,包含满足所有条件的整数 $a, b$。如果不存在这样的 $a$ 和 $b$,则输出一行 $-1$。
如果有多组答案,你可以输出其中任意一组。
说明/提示
在第一个测试用例中,$11 \le 6 + 9 \le 15$,$\gcd(6, 9) = 3$,所有条件都满足。注意这不是唯一的答案,例如 $\{4, 10\}, \{5, 10\}, \{6, 6\}$ 也是该测试用例的合法答案。
在第二个测试用例中,唯一满足 $1 \le a + b \le 3$ 的数对为 $\{1, 1\}, \{1, 2\}, \{2, 1\}$,但这些数对的 $\gcd(a, b)$ 都等于 $1$,因此没有答案。
在第三个样例测试中,$\gcd(14, 4) = 2$。
由 ChatGPT 4.1 翻译