当前位置:首页数论 > 正文

最大公因数(GCD)

作者:野牛程序员:2024-06-14 15:49:41数论阅读 2558
最大公因数(GCD)

最大公因数是指两个或多个整数的所有公因数中最大的一个。对于两个整数 aaabbb,它的最大公因数通常记作 GCD(a,b) 或 gcd(a,b)

计算方法:

  1. 列举法:列出两个数的所有因数,然后找出它们的公因数,最后选出其中最大的一个。

  2. 辗转相除法(欧几里得算法)

    • 将较大的数除以较小的数,得到余数。

    • 用较小的数除以这个余数,再得到新的余数。

    • 重复上述步骤,直到余数为0。此时,最后一个非零余数即为最大公因数。

例如,求 GCD(48,18)

48÷18=2 余 12

18÷12=1 余 6

12÷6=2 余 0

所以, GCD(48,18)=6

#include <iostream>

// 计算最大公因数(欧几里得算法)
int gcd(int a, int b) {
    while (b != 0) {
        int temp = b;
        b = a % b;
        a = temp;
    }
    return a;
}

int main() {
    int a = 48;
    int b = 18;

    std::cout << "GCD of " << a << " and " << b << " is: " << gcd(a, b) << std::endl;
    

    return 0;
}
  • 使用欧几里得算法来计算最大公因数。该算法的核心思想是通过不断取余,直到余数为0,最后一个非零的余数就是最大公因数。

  • gcd 函数通过循环不断更新 ab 的值,直到 b 为0。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 最大公因数
  • 相关推荐

    最新推荐

    热门点击