算法_欧几里得算法

求两个数的最大公约数,比如50和15的最大公约数是5,

算法如下:

# 欧几里得  求最大公约数

def gcd(m, n):
    while (n != 0):
        rem = m % n
        m = n
        n = rem

    return m;


# 测试

a = gcd(50, 15)
print(a)

假设m>n ,第一次循环后,m替换成n,n则替换成余数rem,继续循环直到余数为0,返回最大公约数.

原文地址:https://www.cnblogs.com/coloz/p/11015812.html