- 利用示例学习 C 语言
- 利用示例学习 C 语言 - 主页
- C 语言示例 - 简单程序
- C 语言示例 - 循环/迭代
- C 语言示例 - 模式
- C 语言示例 - 数组
- C 语言示例 - 字符串
- C 语言示例 - 数学
- C 语言示例 - 链表
- C 语言编程实用资源
- 利用示例学习 C 语言 - 快速指南
- 利用示例学习 C 语言 - 资源
- 利用示例学习 C 语言 - 讨论
C 语言中求两个值的最小公倍数的程序
两个值的最小公倍数或最小公倍数是两个值的倍数中的最小正值。
例如 3 和 4 的倍数为:
3 → 3、6、9、12、15 ...
4→ 4、8、12、16、20 ...
两个数的最小公倍数是 12,因此 3 和 4 的最小公倍数是 12。
算法
该程序的算法可以如下得出:
START Step 1 → Initialize A and B with positive integers Step 2 → Store maximum of A & B to max Step 3 → Check if max is divisible by A and B Step 4 → If divisible, Display max as LCM Step 5 → If not divisible then step increase max, goto step 3 STOP
伪代码
我们现在为该程序推导出伪代码:
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.htm
广告