题目描述
输入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;
}