以下是一个使用递归和辗转相除法计算最大公约数的示例代码:
def gcd(a, b):
"""
输入两个数字a和b,返回它们的最大公约数。
"""
if b == 0:
return a
else:
return gcd(b, a % b)
在这个函数中,我们首先检查b是否为0。如果是,我们返回a作为最大公约数。否则,我们将函数递归地调用自己,传入b和a mod b作为两个新的参数。这是辗转相除法的基本原理,它持续地将较大的数字(即a)除以较小的数字(即b),直到余数为0。当余数为0时,我们返回a作为最大公约数。
示例:
print(gcd(24, 36)) # 输出 12
在这个示例中,24和36的最大公约数为12,因此我们期望返回12。