21xrx.com
2025-06-18 14:54:34 Wednesday
登录
文章检索 我的文章 写文章
C++ 实现求最小公倍数
2023-06-29 01:00:14 深夜i     18     0
C++ 实现 最小公倍数

最小公倍数是指两个或多个整数公有的倍数中最小的那个数。在编程语言中,要求最小公倍数可以使用C++语言来实现。

C++中求最小公倍数可以使用辗转相除法,即先求出两个数的最大公约数,然后再通过公式 lcm(x,y) = (x*y)/gcd(x,y) 来计算最小公倍数。

代码实现如下:

#include <iostream>
using namespace std;
// 求最大公约数
int gcd(int x, int y) {
  if (y == 0)
    return x;
  
  else {
    return gcd(y, x % y);
  }
}
// 求最小公倍数
int lcm(int x, int y) {
  return (x * y) / gcd(x, y);
}
// 主函数
int main() {
  int x, y;
  cout << "请输入两个正整数: " << endl;
  cin >> x >> y;
  cout << "它们的最小公倍数是: " << lcm(x, y) << endl;
  return 0;
}

在以上代码中,先通过 gcd 函数求出两个数的最大公约数,然后使用公式 lcm(x,y) = (x*y)/gcd(x,y) 来计算它们的最小公倍数。最后通过主函数实现用户输入两个数并输出它们的最小公倍数。

以上就是在C++中实现求最小公倍数的方法。除了辗转相除法,还有其他算法如质因数分解法、枚举法等,大家也可以自行了解并实现。

  
  

评论区