欧几里德算法求公约数

给定正整数m和n,求最大公因子

1:求余数:r=n%m

2:如果r=0,算法结束

3:如果n=m,m=r,继续算法

使用Python代码实现如下:

#oclid算法,求最大公约数
def oclid(m,n):
    while True:
        r=n%m
        if(r==0):
            return m
        else:
            n=m
            m=r
if __name__=="__main__":
    i=oclid(21,28)
    print i

posted @ 2010-05-15 21:24  macula7  阅读(138)  评论(0编辑  收藏  举报