在Python中,求两个数的最大公约数(GCD)有多种方法,以下是几种常见的方法:
1. 使用内置的`math.gcd`函数:
import matha = 24b = 36gcd_result = math.gcd(a, b)print(f"{a} 和 {b} 的最大公约数是: {gcd_result}")
2. 使用辗转相除法(欧几里得算法)的迭代实现:
def gcd(a, b):while b:a, b = b, a % breturn aprint(gcd(24, 36)) 输出:12
3. 使用辗转相除法的递归实现:

def gcd_recursive(a, b):if b == 0:return areturn gcd_recursive(b, a % b)print(f"{36} 和 {60} 的最大公约数是: {gcd_recursive(36, 60)}")
4. 使用更相减损法:
def gcd_subtraction(a, b):while a != b:if a > b:a = a - belse:b = b - areturn aprint(gcd_subtraction(24, 36)) 输出:12
5. 使用暴力枚举法:
def gcd_brute_force(a, b):for i in range(min(a, b), 0, -1):if a % i == 0 and b % i == 0:return ireturn 1print(gcd_brute_force(24, 36)) 输出:12
以上方法都可以用来计算两个数的最大公约数。您可以根据自己的需要选择合适的方法。
