#P0079. 最大公约数 II

最大公约数 II

题目描述

给定两个正整数 a,ba, bgcd(a,b)gcd(a,b), gcd=greatest common divisorgcd = greatest\ common\ divisor 即最大公约数

定理:

gcd(a,b)=gcd(b,amodb)\text{gcd}(a, b) = \text{gcd}(b, a \mod b)

证明:

  1. amodb=akba \mod b = a - k \cdot b,其中 k=a/bk = \lfloor a / b \rfloor(向下取整)。

  2. dd(a,b)(a, b) 的公约数:

    • 则知 dad \mid adbd \mid b
    • 则易知,d(akb)d \mid (a - k \cdot b),即 dd 也是 (b,amodb)(b, a \mod b) 的公约数。
  3. dd(b,amodb)(b, a \mod b) 的公约数:

    • 则知 dbd \mid bd(akb)d \mid (a - k \cdot b)

    • 则,d(akb+kb)d \mid (a - k \cdot b + k \cdot b),即 dad \mid a

    • 因此,dd 同时整除 aabb,所以 dd 也是 (a,b)(a, b) 的公约数。

  4. 综上所述,(a,b)(a, b) 的公约数集合与 (b,amodb)(b, a \mod b) 的公约数集合相同,因此它们的最大公约数也相同。

证毕。

输入格式

第一行读入两个数字 a,ba, b

输出格式

共一行,表示答案

数据范围

1<=n<=10181 <= n <=10^{18}

输入样例:

3 5

输出样例:

1