给定两个正整数 aaa 和 bbb,计算它们的最大公约数(Greatest Common Divisor, gcd(a,b)\gcd(a,b)gcd(a,b))。
最大公约数是能够同时整除 aaa 和 bbb 的最大正整数。
输入一行,包含两个正整数 aaa 和 bbb,用空格分隔。
输出一行,包含一个整数,表示 aaa 和 bbb 的最大公约数。
12 18
6
17 19
1
Part 1(Easy): 数据范围 1≤a,b≤1061 \le a,b \le 10^61≤a,b≤106。
Part 2(Hard): 数据范围 1≤a,b≤10181 \le a,b \le 10^{18}1≤a,b≤1018。
long long
为什么欧几里得算法的复杂度是 O(log(min(a,b)))O(\log(\min(a,b)))O(log(min(a,b)))?什么时候得到最坏情况?