求最小公倍数

两个或多个整数的公倍数里最小的那一个叫做它们的最小公倍数。整数ab的最小公倍数记为[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);
} 

点赞