首页 / 题库

P13087 - GCD

数学入门
通过次数0 提交次数0 内存限制 128MB 时间限制1秒

描述

给定两个整数 $a$ 和 $b$,每一轮你可以执行以下两种操作之一:

- 如果 $a > 0$,则将 $a$ 的值减少 $\gcd(a, b)$。
- 如果 $b > 0$,则将 $b$ 的值减少 $\gcd(a, b)$。

Grace 想知道使得 $a$ 和 $b$ 都变为 $0$ 所需的最少轮数。

**注意:** $\gcd(x, y)$ 表示 $x$ 和 $y$ 的最大公约数。例如,$\gcd(6, 8) = 2$,$\gcd(7, 5) = 1$。$\gcd(x, 0)$ 和 $\gcd(0, x)$ 的值定义为 $x$

输入

每个测试文件包含多个测试用例。第一行包含测试用例的数量 $T$($1 \le T \le 1000$)。

接下来是测试用例的描述。

每个测试用例占一行,包含两个整数 $a$ 和 $b$($1 \le a \le b$,$a \le 5000$,$b \le 10^{18}$)。

对于每个测试文件,保证所有测试用例的 $a$ 之和不超过 $10^4$。

输出

对于每个测试用例,输出一个整数,表示使 $a$ 和 $b$ 都变为 $0$ 所需的最少轮数。

样例

  • 复制
  • 复制

提示

**第一个测试用例:** $a = 2, b = 3$

一种最优方案如下:

1. 对 $b$ 操作:$b = 3 - \gcd(2, 3) = 3 - 1 = 2$,状态变为 $(2, 2)$
2. 对 $a$ 操作:$a = 2 - \gcd(2, 2) = 2 - 2 = 0$,状态变为 $(0, 2)$
3. 对 $b$ 操作:$b = 2 - \gcd(0, 2) = 2 - 2 = 0$,状态变为 $(0, 0)$

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36