- 利用示例学习 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
广告