C 语言中查找 LCM 的程序

L.C.M. 或两个值的最小公倍数,是两个值的倍数中最小的正值。

例如 3 和 4 的倍数为 −

3 → 3, 6, 9, 12, 15 ...

4 → 4、8、12、16、20 ...

两者的最小倍数是 12,因此 3 和 4 的最小公倍数是 12。

算法

此程序的算法可以推导为 −

开始
步骤 1 → 用正整数初始化 A 和 B
步骤 2 → 将 A 和 B 中的最大值存储到 max
步骤 3 → 检查 max 是否能被 A 和 B 整除
步骤 4 → 如果能整除,则将 max 显示为最小公倍数
步骤 5 →如果不可整除则步骤增加最大值,转到步骤 3
停止

伪代码

现在让我们为该程序推导伪代码 −

procedure even_odd()
   
   Initialize A and B
   max = max(A, B)
   WHILE TRUE
      IF max is divisible by A and B THEN
         LCM = max
         BREAK
      ENDIF
      Increment max
   END WHILE
   DISPLAY LCM

end procedure

实现

该算法的实现如下 −

#include<stdio.h>

int main() {
   int a, b, max, step, lcm;

   a   = 3;
   b   = 4;
   lcm = 0;

   if(a > b)
      max = step = a;
   else
      max = step = b;

   while(1) {
      if(max%a == 0 && max%b == 0) {
         lcm = max;
         break;    
      }

      max += step;
   }

   printf("LCM is %d", lcm);
   return 0;
}

输出

程序的输出应为 −

LCM is 12

mathematical_programs_in_c.html