21xrx.com
2025-04-28 16:16:48 Monday
文章检索 我的文章 写文章
C++ 求最大公约数的代码
2023-07-08 12:53:00 深夜i     8     0
C++ 最大公约数 代码

在数学中,最大公约数是指两个或多个整数共有的约数中,最大的一个。本文将为大家介绍一段 C++ 代码,用于求解两个数的最大公约数。

首先,我们需要明确求最大公约数的方法,常见的方法有辗转相除法和欧几里得算法。这里我们选择使用欧几里得算法,即较大数除以较小数,再用较小数除以余数(第一个余数是较大数除以较小数所得的余数,第二个余数是较小数除以第一个余数所得的余数,依此类推,直到余数为零为止),直到余数为零时,最后的除数即为所求的最大公约数。

代码如下:

#include <iostream>
using namespace std;
int gcd(int a, int b) {
  while (b != 0)
    int r = a % b;
    a = b;
    b = r;
  
  return a;
}
int main() {
  int a, b;
  cout << "请输入两个整数:" << endl;
  cin >> a >> b;
  cout << "它们的最大公约数是:" << gcd(a, b) << endl;
  return 0;
}

上述代码中,我们定义了一个名为 gcd 的函数,它接受两个整型参数 a 和 b,返回它们的最大公约数。在函数中,我们使用了 while 循环,不断用较小数去除较大数的余数,并重新设置较小数和较大数,直到余数为零。

在主函数中,我们要求用户输入两个整数,并通过调用 gcd 函数计算它们的最大公约数,最后输出结果。

总之,通过上述的 C++ 代码,我们可以快速、简单地计算两个数的最大公约数。希望这篇文章对大家有所帮助。

  
  

评论区