首页 > 代码库 > C语言 · 最小公倍数

C语言 · 最小公倍数

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

/*
相减法求最大公约数
最小公倍数=两整数的乘积 ÷最大公约数;
*/
#include<stdio.h>
int main(){
int m,n,a,b,c;
scanf("%d%d",&m,&n);
a=m;
b=n;
while(a!=b){
if(a>b){
a = a-b;
} else {
b = b-a;
}
}
printf("最大公约数是a or b,即:%d",a);
printf("最小公倍数是m*n/b,即:%d",m*n/a);
}

 
方法二:

/*最小公倍数=两整数的乘积 ÷最大公约数*/
#include<stdio.h>
int main(){
int m,n,a,b,c;
scanf("%d%d",&m,&n);
a=m;
b=n;
while(b!=0){
c=a%b;
a=b;
b=c;
}
printf("%d",m*n/a);
}

 
 

C语言 · 最小公倍数