21xrx.com
2025-03-23 13:44:29 Sunday
文章检索 我的文章 写文章
如何用C语言求最大公约数和最小公倍数
2023-06-18 11:15:56 深夜i     --     --
C语言 最大公约数 最小公倍数 欧几里得算法 循环 取模运算符 代码实现

在 C 语言编程中,求两个数的最大公约数和最小公倍数常常涉及到算法的选择和代码的实现。最大公约数指的是在相等或不等的两个整数中,最大的可以同时整除这两个数的数;最小公倍数指的则是在这两个数之间,最小的可以被这两个数同时整除的数。下面就来介绍一下 C 语言中如何求出这两个数。

针对最大公约数,我们经常使用的算法是辗转相除法,也称为欧几里得算法。该算法思路简单,在 C 语言中可以用循环和取模运算符来实现。具体实现代码如下:

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

而最小公倍数则需要利用两个数的最大公约数进一步计算求得。通常的方法是,使用公式“最小公倍数=两数之积÷最大公约数”,即:

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

以上就是 C 语言中求最大公约数和最小公倍数的代码实现。如果你正在学习 C 语言编程,可以试着自己实现一下,并进一步对算法和运算符有更深入的理解。

  
  

评论区