CF1538D Another Problem About Dividing Numbers
题目描述
给定两个整数 $a$ 和 $b$。每次操作,你可以进行以下两种操作之一:
- 选择一个整数 $c$($c > 1$ 且 $a$ 能被 $c$ 整除),用 $\frac{a}{c}$ 替换 $a$;
- 选择一个整数 $c$($c > 1$ 且 $b$ 能被 $c$ 整除),用 $\frac{b}{c}$ 替换 $b$。
你的目标是用恰好 $k$ 次操作使 $a$ 和 $b$ 相等。
例如,$a=36$ 和 $b=48$ 可以在 $4$ 步内变为相等:
- $c=6$,将 $b$ 除以 $c$,得到 $a=36$,$b=8$;
- $c=2$,将 $a$ 除以 $c$,得到 $a=18$,$b=8$;
- $c=9$,将 $a$ 除以 $c$,得到 $a=2$,$b=8$;
- $c=4$,将 $b$ 除以 $c$,得到 $a=2$,$b=2$。
对于给定的 $a$ 和 $b$,判断是否可以用恰好 $k$ 次操作使它们相等。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$)。接下来有 $t$ 组测试数据。
每组测试数据包含三个整数 $a$、$b$ 和 $k$($1 \le a, b, k \le 10^9$)。
输出格式
对于每组测试数据,输出一行:
- 如果可以用恰好 $k$ 次操作使 $a$ 和 $b$ 相等,输出 "Yes";
- 否则输出 "No"。
"Yes" 和 "No" 的大小写不限。
说明/提示
由 ChatGPT 4.1 翻译