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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM