Python实现求两个正整数的最大公约数(四种方法)

Python实现求任意两个正整数的最大公约数(四种方法)

# 辗转相除法
def fun1(n, m):
    temp = n % m
    while temp != 0:
        n = m
        m = temp
        temp = n % m
    return m


# 辗转相减法
def fun2(n, m):
    while n != m:
        if n > m:
            n = n - m
        else:
            m = m - n
    return n


# 枚举法
def fun3(n, m):
    if n > m:
        sma = m
    else:
        sma = n
    for i in range(sma, 0, -1):
        if n % i == 0 and m % i == 0:
            return i


# 欧几里得算法
def fun4(n, m):
    if m == 0:
        return n
    return fun4(m, n % m)

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