21xrx.com
2025-06-09 17:37:15 Monday
文章检索 我的文章 写文章
如何用C语言求最大公约数和最小公倍数
2023-06-15 16:43:10 深夜i     8     0
C语言 最大公约数 最小公倍数

在学习C语言的过程中,经常需要用到求最大公约数或最小公倍数的算法。那么,如何在C语言中实现这两种算法呢?

首先,我们需要了解最大公约数和最小公倍数的概念。最大公约数指的是两个或多个数公有的约数中最大的一个数;最小公倍数则是指两个或多个数的公倍数中最小的一个数。

针对这两种问题,我们可以分别使用辗转相除法和穷举法进行求解。辗转相除法是最常用的求最大公约数的方法,它的原理是通过不断用较小数去除较大数,直到两数相等为止,余数即为最大公约数。而穷举法则是通过枚举两个数的所有倍数,直到找到它们的公共倍数为止,这个公共倍数就是它们的最小公倍数。

在C语言中,我们可以通过编写相应的函数来实现这两种算法。辗转相除法的代码如下所示:

int gcd(int a, int b)
{
  if(a % b == 0)
    return b;
  else
    return gcd(b, a % b);
}

而求最小公倍数的代码则是:

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

通过调用这两个函数,我们就能够在C语言中求解最大公约数和最小公倍数了。

  
  

评论区