在 Python 中,求三个数的最大公约数可以通过以下几种方法实现:
辗转相除法
使用迭代或递归实现。
迭代实现示例代码:
def gcd(a, b):while b != 0:a, b = b, a % breturn a
更相减损法
通过不断相减两个数的差值来求解最大公约数。
示例代码:
def gcd_subtraction(a, b):while a != b:if a > b:a = a - belse:b = b - areturn a
穷举法
逐个尝试所有可能的因数,找出最大的公约数。
示例代码:

def gcd_exhaustive(a, b):for i in range(1, min(a, b) + 1):if a % i == 0 and b % i == 0:return i
使用内置 `math` 库
Python 的 `math` 模块提供了一个 `gcd` 函数,可以直接用来计算两个数的最大公约数。
示例代码:
import mathdef gcd_math(a, b):return math.gcd(a, b)
对于三个数,可以先求出前两个数的最大公约数,然后再求这个结果和第三个数的最大公约数。
示例代码:
def gcd_of_three(a, b, c):return gcd(gcd(a, b), c)
以上方法均可用于计算三个数的最大公约数。
