CF1674A Number Transformation
题目描述
给定两个整数 $x$ 和 $y$。你需要选择两个严格大于零的整数 $a$ 和 $b$,然后对 $x$ 恰好进行 $a$ 次如下操作:用 $b \cdot x$ 替换 $x$。
你需要找到两个正整数 $a$ 和 $b$,使得经过上述过程后 $x$ 变为 $y$。如果存在多组解,你可以任选一组。如果不存在这样的整数对,请输出无法实现。
例如:
- 如果 $x = 3$ 且 $y = 75$,你可以选择 $a = 2$ 和 $b = 5$,这样 $x$ 经过操作后变为 $3 \cdot 5 \cdot 5 = 75$;
- 如果 $x = 100$ 且 $y = 100$,你可以选择 $a = 3$ 和 $b = 1$,这样 $x$ 经过操作后变为 $100 \cdot 1 \cdot 1 \cdot 1 = 100$;
- 如果 $x = 42$ 且 $y = 13$,则不存在解,因为无法通过该操作使 $x$ 变小。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例包含一行,包含两个整数 $x$ 和 $y$($1 \le x, y \le 100$)。
输出格式
如果存在一组正整数 $a$ 和 $b$,使得经过上述过程后 $x$ 变为 $y$,请输出这两个整数。你输出的整数应满足 $1 \le a, b \le 10^9$(可以证明如果存在解,一定存在满足该范围的整数对)。如果存在多组解,输出任意一组即可。
如果不存在这样的整数对,请输出两个 $0$。
说明/提示
由 ChatGPT 4.1 翻译