python最大公约数

#求m,n的最大公约数
法一:
def GreatCommonDivisor(a,b):
    if a > b:
        a,b = b,a#把a变成小的那个数
    r = 1#随便先取一个非零的数
    while r != 0:
        r = a % b
        a = b
        b = r
    return a
m = eval(input())
n = eval(input())
print(GreatCommonDivisor(m,n))

法二:
def hcf(x, y):
    """该函数返回两个数的最大公约数"""

    # 获取最小值
    if x > y:
        smaller = y
    else:
        smaller = x

    for i in range(1, smaller + 1):
        if ((x % i == 0) and (y % i == 0)):
            hcf = i

    return hcf


# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))

print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/88322532