CF1549A Gregor and Cryptography
题目描述
Gregor 正在学习 RSA 加密,虽然他还不明白 RSA 的工作原理,但他现在对质数及其因数分解产生了浓厚的兴趣。
Gregor 最喜欢的质数是 $P$。Gregor 想要找到 $P$ 的两个“基”。形式化地说,Gregor 正在寻找两个整数 $a$ 和 $b$,它们同时满足以下两个条件:
- $P \bmod a = P \bmod b$,其中 $x \bmod y$ 表示 $x$ 除以 $y$ 的余数;
- $2 \leq a < b \leq P$。
请帮助 Gregor 找到他最喜欢的质数的两个“基”!
输入格式
每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$($1 \leq t \leq 1000$)。
接下来的每一行包含一个整数 $P$($5 \leq P \leq 10^9$),保证 $P$ 是质数。
输出格式
输出应包含 $t$ 行。每行输出两个整数 $a$ 和 $b$($2 \leq a < b \leq P$)。如果有多组解,输出任意一组均可。
说明/提示
第一个查询为 $P=17$。此时 $a=3$ 和 $b=5$ 是有效的基,因为 $17 \bmod 3 = 17 \bmod 5 = 2$。当然还有其他满足条件的数对。
第二个查询为 $P=5$,唯一的解是 $a=2$ 和 $b=4$。
由 ChatGPT 4.1 翻译