(python 3)辗转相除法求最大公约数

最大公约数:指两个或多个整数共有约数中最大的一个。

辗转相除法:又称欧几里得算法。

辗转相除法的python实现:

#辗转相除法求解最大公约数
def Toss_and_Divide_method(m,n):
    #m和n中有一个为0时,循环结束
    while m * n != 0:
        #若m>n则m为m/n的余数
        #若m<n则m还为m
        m = m % n
        #如果m被n整除,说明n就是最大公约数
        if m == 0:
            return n
        else:
            #若未整除,则倒过来用n/m取余
            n = n % m
            #如果n被m整除,说明m就是最大公约数
            if n == 0:
                return m

 

参考:https://blog.csdn.net/qq_41575507/article/details/90752742


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