# 辗转相除法求最大公约数:
# 1、判断输入的两个数的大小,大数除小数,得到余数
# 2、如果余数为0,则小数为最大公约数;如果余数不为零,用小数除余数,再次得到一个余数
# 3、判断第二次得到的余数是否为0,如果为0得出公约数,如果不为0,重复第二步操作
a = input("请输入一个数:")
# 公约数只是针对整数,判断数字输入是否合法
while not a.isdigit():
a = input("输入有误,请重新输入一个数:")
b = input("请输入另一个数:")
while not b.isdigit():
b = input("输入有误,请重新输入一个数:")
num1 = int(a) if int(a)> int(b) else int(b)
num2 = int(b) if int(a)> int(b) else int(a)
p = num1 % num2
while p !=0:
num1 = num2
num2 = p
p = num1 % num2
print(a,b,"的最大公约数为",num2)
运行结果: