Python辗转相除法求最大公约数

Python辗转相除法求最大公约数

输入2个数,用辗转相除法求最大公约数

def gcd(x,y):
    if x < y:
        x,y = y,x
    while (x % y) != 0:
        r = x % y
        x = y
        y = r
    return y
while True:
    try:
        a,b = eval(input('Type 2 num.:'))
        gcdab = gcd(a,b)
        print("{}与{}的最大公约数是{}".format(a,b,gcdab))
        break
    except:
        print('Invalid input,try again!')


参考答案:
Type 2 num.:a,b
Invalid input,try again!
Type 2 num.:100,a
Invalid input,try again!
Type 2 num.:100,20
100与20的最大公约数是20


版权声明:本文为weixin_45462681原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。