21xrx.com
2024-09-20 05:58:48 Friday
登录
文章检索 我的文章 写文章
C++ 实现求最小公倍数
2023-06-29 01:00:14 深夜i     --     --
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++中实现求最小公倍数的方法。除了辗转相除法,还有其他算法如质因数分解法、枚举法等,大家也可以自行了解并实现。

  
  

评论区

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