21xrx.com
2024-11-10 00:40:18 Sunday
登录
文章检索 我的文章 写文章
C++中求最小公倍数的方法
2023-07-02 09:49:45 深夜i     --     --
C++ 最小公倍数 算法 数学 循环

在C++中,求两个数的最小公倍数,通常有两种方法可以实现。下面我们将详细介绍这两种方法。

方法一:使用辗转相除法

辗转相除法是求最大公约数的一种方法,但是我们可以将它稍微修改一下,就可以求最小公倍数。具体步骤如下:

1.先求出两个数的最大公约数(用辗转相除法即可)。

2.最小公倍数 = 两数之积 ÷ 最大公约数。

下面是代码实现:

#include using namespace std;int gcd(int a,int b) { //求最大公约数return b == 0 ? a : gcd(b,a%b);}int lcm(int a,int b) { //求最小公倍数int temp = gcd(a,b);return temp == 0 ? 0 : a*b/temp;}int main() { int a,b; cout<<"请输入两个整数:"; cin>>a>>b; cout<<"最小公倍数为:"< <

方法二:使用枚举法

枚举法虽然不如辗转相除法那么高效,但是它的思想简单容易理解。具体步骤如下:

1.设i为两个数中较大的那个数。

2.从i开始每次加上较大数,直到能够同时被两个数整除。

3.最小公倍数即为第二步中得到的数。

下面是代码实现:

#include using namespace std;int lcm(int a, int b) { //求最小公倍数int i = (a>b ? a : b);while(1) { if(i%a==0 && i%b==0) return i;i++; }}int main() { int a,b; cout<<"请输入两个整数:"; cin>>a>>b; cout<<"最小公倍数为:"< <

总之,使用这两种方法都可以求出最小公倍数。不过需要注意的是,如果两个数中有一个为0,则最小公倍数为0。另外,在编写程序时,建议使用函数来实现,这样可以提高程序的可读性、可维护性和可扩展性。

  
  

评论区

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