LCM 最小公倍数

题目描述

输入2个正整数A,B,求A与B的最小公倍数。

Input

2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)

Output

输出A与B的最小公倍数。

Sample Input

30 105

Sample Output

210

思考,最小公倍数和最大公约数的关系!

设两个数是a,b最大公约数是p,最小公倍数是q
那么有这样的关系:ab=pq
所以q=ab/p

所以这个代码只需要在 GCD的代码上稍微改进一下!

我们只需要将这两个数除以最大公约数就OK!下面是AC代码!

#include<stdio.h>
int gcd(int a,int b)
{
	return !b?a:gcd(b,a%b);
}
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%lld\n",1ll*a*b/gcd(a,b));  //这里的ll是为了转化为 long long 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42759323/article/details/81149298