题目描述
给定两个正整数 a,b 求 gcd(a,b),
gcd=greatest common divisor 即最大公约数
定理:
gcd(a,b)=gcd(b,amodb)
证明:
-
设 amodb=a−k⋅b,其中 k=⌊a/b⌋(向下取整)。
-
若 d 是 (a,b) 的公约数:
- 则知 d∣a 且 d∣b。
- 则易知,d∣(a−k⋅b),即 d 也是 (b,amodb) 的公约数。
-
若 d 是 (b,amodb) 的公约数:
-
则知 d∣b 且 d∣(a−k⋅b)。
-
则,d∣(a−k⋅b+k⋅b),即 d∣a。
-
因此,d 同时整除 a 和 b,所以 d 也是 (a,b) 的公约数。
-
综上所述,(a,b) 的公约数集合与 (b,amodb) 的公约数集合相同,因此它们的最大公约数也相同。
证毕。
输入格式
第一行读入两个数字 a,b
输出格式
共一行,表示答案
数据范围
1<=n<=1018
输入样例:
3 5
输出样例:
1