C++求最大公约数和最小公倍数的方法

分类:知识百科 日期: 点击:0

最大公约数和最小公倍数是数学中一个常见的概念,在C++中也可以用来求解这些问题。C++中求最大公约数和最小公倍数有两种方法:

辗转相除法

辗转相除法是一种求最大公约数的算法,它的基本思想是:用两个数中的较大数去除另一个数,所得的余数继续和另一个数进行除法,直到余数为0,的除数就是最大公约数。

int gcd(int a, int b)
{
  int c;
  while (b != 0)
  {
    c = a % b;
    a = b;
    b = c;
  }
  return a;
}

更相减损术

更相减损术是一种求最大公约数的算法,它的基本思想是:两个数不断相减,直到两个数相等,这个数就是最大公约数。

int gcd(int a, int b)
{
  while (a != b)
  {
    if (a > b)
      a = a - b;
    else
      b = b - a;
  }
  return a;
}

求最小公倍数的方法是:用两个数的乘积除以它们的最大公约数,所得的结果就是最小公倍数。

int lcm(int a, int b)
{
  return a * b / gcd(a, b);
}

以上就是C++中求最大公约数和最小公倍数的方法,通过简单的程序就可以解决这些问题。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。