#L0405. GCD 倍增操作
GCD 倍增操作
题目描述
你有一个正整数 ,可以进行如下操作:
- 选择任意正整数 ,令 (其中 表示 和 的最大公因数)。
初始时 ,目标是通过若干次操作(也可以不操作)使 。求最少操作次数,或报告无解。
输入格式
本题包含多组测试数据。
第一行一个正整数 ,表示数据组数。
接下来 行,每行两个正整数 。
输出格式
对每组数据:
- 若无解,输出 ;
- 否则输出一行一个非负整数,表示最少操作次数。
样例
6
1 1
2 4
2 6
12 288
30 144000
114 51419198100
1
-1
2
3
-1
</p>
提示
样例解释
第一组:无需操作,答案 。
第二组:选择 ,。
第三组:无法达成目标,输出 。
第四组:选择 ,;再选 ,。
数据范围
| 测试点编号 | $n \le$ | $m \le$ | 分值 |
|---|---|---|---|
| $1$ | $100$ | $2 \times 10^3$ | $21$ |
| $2$ | $2$ | $10^{18}$ | $17$ |
| $3$ | $10^5$ | $10^5$ | $14$ |
| $4$ | $10^7$ | $10^7$ | $16$ |
| $5$ | $10^{18}$ | $10^{18}$ | $32$ |
对于所有数据,,。
难度
普及
通过率
—
尝试
0
已通过
0
- ID
- 1133
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 512MiB
- 上传者