21xrx.com
2024-12-23 00:25:13 Monday
登录
文章检索 我的文章 写文章
C++程序:求最大公约数
2023-07-07 05:06:53 深夜i     --     --
C++ 最大公约数 程序

最大公约数是指两个或多个整数共有约数中最大的一个。在C++中,我们可以使用求模运算符%来求两个数的最大公约数,其递归算法如下:


int gcd(int a, int b)

{

  if (b == 0)

    return a;

  else

    return gcd(b, a % b);

}

其中,`gcd`函数接收两个整数`a`和`b`作为参数,并返回它们的最大公约数。如果`b`等于0,则`a`就是最大公约数;否则,我们将`gcd`函数再次递归调用,求出`b`和`a%b`的最大公约数。

下面是完整的求最大公约数的C++程序:


#include <iostream>

using namespace std;

int gcd(int a, int b);

int main()

{

  int a, b;

  cout << "Enter two numbers: ";

  cin >> a >> b;

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

  return 0;

}

int gcd(int a, int b)

{

  if (b == 0)

    return a;

  else

    return gcd(b, a % b);

}

运行程序,输入两个整数,即可得到它们的最大公约数。

在C++中求最大公约数是非常简单的,只需要递归调用`gcd`函数即可。这是因为C++的递归调用函数机制非常高效,能够大大减少程序的开销和复杂度。因此,我们在编写程序时,可以尝试使用递归算法来解决问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复