codeup2135: 最小公倍数

题目描述

给定两个正整数,计算这两个数的最小公倍数。

输入

输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数。

输出

对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。

样例输入

20 15

样例输出

60

需要注意的是,最小公倍数是在最大公约数的基础上得来的,a和b的最大公约数 d=gcd(a,b)

所以a和b的最小公倍数为ab/d;

但有时ab有可能溢出,所以更优的写法是a/d*b

#include
int gcd(int a,int b){
	return !b?a:gcd(b,a%b);
}  
int main()
{
	int a,b,d;
	while(scanf("%d%d",&a,&b)!=EOF)
	{
		d=gcd(a,b);
		printf("%d\n",a/d*b);	
	} 
	return 0;
}

 

你可能感兴趣的:(codeup)