欧几里得算法(辗转相除法)-- 计算两个数的最大公约数

博客地址:https://www.cnblogs.com/zylyehuo/

# -*- coding: utf-8 -*-

# 递归
def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


print(gcd(12, 16))


# 非递归
def gcd2(a, b):
    while b > 0:
        r = a % b
        a = b
        b = r
    return a


print(gcd2(12, 16))

posted @ 2023-08-19 20:38  zylyehuo  阅读(11)  评论(0编辑  收藏  举报