C语言 · 最小公倍数

问题描述
  编写一函数lcm,求两个正整数的最小公倍数。
样例输入
一个满足题目要求的输入范例。
例:
3 5
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
  输入数据中每一个数的范围。
  例:两个数都小于65536。
 

代码一:相减法求最大公约数。

最小公倍数=两整数的乘积 ÷最大公约数
 1 #include<stdio.h> 
 2 int main(){
 3     int m,n,a,b,c;
 4     scanf("%d%d",&m,&n);
 5     a=m;
 6     b=n;
 7     while(a!=b){
 8         if(a>b){
 9             a = a-b;
10         } else {
11             b = b-a;
12         }
13     }
14     printf("最大公约数是a or b,即:%d",a);
15     printf("最小公倍数是m*n/b,即:%d",m*n/a);
16 }

代码二:

 1 #include<stdio.h> 
 2 int main(){
 3     int m,n,a,b,c;
 4     scanf("%d%d",&m,&n);
 5     a=m;
 6     b=n;
 7     while(b!=0){
 8         c=a%b;
 9         a=b;
10         b=c;
11     }
12     printf("%d",m*n/a);
13 }

 

posted @ 2016-12-23 15:29  人间烟火地三鲜  阅读(12710)  评论(0编辑  收藏  举报