一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

GCD算法(欧几里得算法)(辗转相除法)代码模板(C/C++/Java/Python多版本)

时间:2026-08-08 08:19:57 编辑:袖梨 来源:一聚教程网

处理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)。这个过程通过反复用较小的数替换较大的数,并用余数替换较小的数,直到余数为零,此时剩下的非零数就是两者的最大公约数。

GCD算法(欧几里得算法)(辗转相除法)代码模板(C/C++/Java/Python多版本)

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)

热门栏目