📜  python 欧几里得算法 - Python (1)

📅  最后修改于: 2023-12-03 15:34:12.880000             🧑  作者: Mango

Python 欧几里得算法

简介

欧几里得算法,也称为辗转相除法,是求两个正整数的最大公约数的算法。

给定两个正整数 a 和 b,求它们的最大公约数,记为 gcd(a, b)。

原理

假设 a > b,则有:

  • 若 a 能被 b 整除,则 gcd(a, b) = b。
  • 若 a 不能被 b 整除,则 gcd(a, b) = gcd(b, a%b)。

这个原理可以用递归函数实现。

代码实现
def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)
示例

我们来用一个简单的例子来验证一下上面的代码是否正确。

对于 a = 12 和 b = 18,gcd(12, 18) = 6。

a = 12
b = 18

print(gcd(a, b)) # 输出结果为 6
总结

通过本文介绍,我们了解了欧几里得算法的原理和实现方式,并通过一个简单的例子来验证了代码的正确性。欧几里得算法是求两个正整数的最大公约数的常用算法之一,代码的实现也比较简单,是 Python 中非常基础的算法之一。