Python利用辗转相除法求两个整数最大公因子(gcd)

最近看北大裘宗燕编写的Python数据结构书时,看到了一个很好的gcd函数定义方法

    def gcd(m, n):
        if not isinstance(m, int) or not isinstance(n, int):
            raise TypeError
        if n == 0:
            m, n = n, m
        while m:
            m, n = n % m, m
        return n

很简洁,考虑了其中有一个整数为0的情况,并且避免讨论m和n的大小关系

你可能感兴趣的:(python编程)