问题描述
编写一函数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);
}
时间: 2024-10-05 16:08:52