处理GCD算法(欧几里得算法)(辗转相除法)代码模板(C/C++/Java/Python多版本)这类问题时,先确认目标场景,再按步骤核对配置或玩法细节。
GCD,即最大公约数,指两个或多个整数共有约数中最大的一个,比如正整数12和18的最大公约数是6,GCD算法就是求解两个正整数的最大公约数。GCD算法的核心是欧几里得算法(又称“辗转相除法”),它基于一个简洁的数学原理:两个正整数 a 和 b 的最大公约数,等于 a 除以 b 的余数 r 与 b 的最大公约数,即 gcd(a, b) = gcd(b, a mod b)。这个过程通过反复用较小的数替换较大的数,并用余数替换较小的数,直到余数为零,此时剩下的非零数就是两者的最大公约数。

1. C/C++版代码:
int gcd(int a, int b) { // 递归终止条件:余数为0时,除数即为最大公约数 if (b == 0) return a; // 递归调用:继续用除数和余数进行计算 return gcd(b, a % b);}2. Java版代码:
public static int gcd(int a, int b) { // 递归终止条件:余数为0时,除数a即为最大公约数 if (b == 0) return a; // 递归调用:用较小的数(b)和余数(a%b)继续计算 return gcd(b, a % b);}3. Python版代码:
def gcd(a, b): # 递归终止条件:余数为0时,除数a即为最大公约数 if b == 0: return a # 递归调用:用较小的数(b)和余数(a%b)继续计算 return gcd(b, a % b)