第 2 题 编程题
最大公约数
时间限制:1s
内存限制:128MB
(注:input()括号中不允许添加任何提示语)
欧几里得算法又称辗转相除法,定义是:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。因此只要对除数和余数反复做除法运算,当余数为 0 时,当前算式的除数就是最初两个数的最大公约数。
例如:
48除以18,余数为12;
接下来,18除以12,余数为6;
接下来,12除以6,余数为0。
所以,6就是48和18的最大公约数。
请补全下面程序,使程序实现如下功能:
(1)程序运行后,依次输入两个正整数a、b;
(2)使用欧几里得算法计算a和b的最大公约数,并输出结果。
a = int(input())
b = int(input())
def gcd(a, b):
if a < b:
a, b = b, a
while ______:
r = _______
a = b
b = r
return _______
print(________) # 输出a和b的最大公约数