两个或多个整数的公倍数里最小的那一个叫做它们的最小公倍数。整数a,b的最小公倍数记为[a,b]。
两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数
代码如下:
#include <stdio.h>
//辗转相除法:求最大公约数
int gcd(int a,int b){
if(a%b==0)
return b;
return gcd(b,a%b);
}
int main(){
int a, b, tmp, g;
printf("请输入两个整数,以空格分开:\n");
scanf("%d %d",&a,&b);
tmp = a*b;
g = gcd(a, b);
tmp = tmp/g;
printf("%d 和 %d 的最小公倍数为:%d \n", a, b, tmp);
}