📜  gcd - Python (1)

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

gcd - Python

gcd 是 Python 语言中内置的函数之一,用于计算两个数的最大公约数,也称作最大公因数。gcd 函数可以接收两个参数,用于计算这两个数的最大公约数。

使用方法

gcd 函数的使用方法如下:

from math import gcd

result = gcd(2, 4)
print(result)  # 2

上述代码中,通过 from math import gcd 引入 gcd 函数,接着使用 gcd(2, 4) 计算 2 和 4 的最大公约数并将结果存入 result,最后输出结果 2。

实现原理

gcd 函数的实现原理是使用欧几里得算法(又称辗转相除法)进行计算。欧几里得算法是一种求解最大公约数的算法,具体步骤如下:

  1. 将两个数中的较大数(设为 a)除以较小数(设为 b),得到商 q 和余数 r
  2. 若余数为 0,则最大公约数为 b
  3. 否则,交换 ab 的值,将 b 赋值为 r,重复步骤 1。

例如,求解 12 和 18 的最大公约数,具体步骤如下:

a = 18, b = 12
q = 1, r = 6
a = 12, b = 6
q = 2, r = 0
最大公约数为 b = 6

因此,gcd(12, 18) 的返回值为 6。

注意事项

在使用 gcd 函数时,需要注意以下几点:

  • gcd 函数只接受两个参数;
  • 参数必须是整数类型(int);
  • 参数中不能出现负数,若需要计算负数的最大公约数,需要先取绝对值再计算。
参考文献