21xrx.com
2024-09-19 09:29:34 Thursday
登录
文章检索 我的文章 写文章
C++中求最小公倍数的方法
2023-07-05 07:16:59 深夜i     --     --
C++ 最小公倍数 方法

在C++中,求最小公倍数(LCM)的方法有许多种不同的实现方式。以下是一些常用且简单的方法:

1.利用最大公约数(GCD)进行计算:

LCM(a,b)=a*b/GCD(a,b)

这种方法的基本思路是将两个数的积除以它们的最大公约数。因为LCM是两个数的公倍数中最小的一个,而a*b是它们的公倍数之一,因此这种求法是有效的。以下是一个示例代码:

int gcd(int a, int b) {

  if (b == 0)

    return a;

  return gcd(b, a % b);

}

int lcm(int a, int b) {

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

}

在这个函数中,gcd用于计算两个数的最大公约数。然后,根据a和b的值,计算LCM。

2.使用一个循环进行计算:

这种方法的基本思路是使用一个while循环,利用LCM(a,b) = (a*b)/GCD(a,b)的公式来计算LCM。以下是一个示例代码:

int lcm(int a, int b) {

  int max = (a > b) ? a : b;

  int min = (a < b) ? a : b;

  int lcm = max;

  while (lcm % min != 0) {

    lcm += max;

  }

  return lcm;

}

在这个函数中,先通过比较a和b的大小,找到了较大的一个数max和较小的一个数min。然后,使用一个while循环来不断增加max,直到max和min的最小公倍数被找到。最后返回这个最小公倍数。

总之,C++ 中有很多种方法来求最小公倍数,在选择时,可以根据自己的需要来选择最适合自己的方法。

  
  

评论区

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