21xrx.com
2024-09-20 00:38:34 Friday
登录
文章检索 我的文章 写文章
C++求最大公约数和最小公倍数代码
2023-06-27 06:03:58 深夜i     --     --
C++ 最大公约数 最小公倍数 代码

C++ 是一种常用的编程语言,提供了多种实用的算法和函数。在数学计算中,求最大公约数和最小公倍数是必不可少的操作。下面是 C++ 中求最大公约数和最小公倍数的代码实现。

求最大公约数(GCD)的代码:


int gcd(int a, int b) {

  if (b == 0)

    return a;

  

  return gcd(b, a % b);

}

该函数使用了递归实现。当 b 等于 0 时,a 即为最大公约数。否则,继续递归调用该函数并将 b 和 a % b 作为参数传入,直到 b 等于 0。

求最小公倍数(LCM)的代码:


int lcm(int a, int b) {

  return abs(a * b) / gcd(a, b);

}

该函数使用了公式 LCM(a, b) = |a * b| / GCD(a, b)。其中,abs 函数求绝对值。将这个公式代入函数中即可得到最小公倍数。

以上代码可以用于任何整数类型,包括 int、long、long long 等。在数据范围较大的情况下,可能需要使用更高精度的数据类型。

  
  

评论区

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