求最小公约数和最小公倍数

#include
#include
using namespace std;
//数据没那么大就直接int 就行,刚好做题需求
 long long  gcd(long long  a,long long  b)//辗转相除法(欧几里德算法)求最大公约数
 {
     return b ? gcd(b,a%b) : a;
 }
long long  lcm(long long  a,long long b)
 {
      return a*b/gcd(a,b);//最小公倍数 
 }
int main()
{
	long long int  a,b;
	while(scanf("%lld%lld",&a,&b)!=EOF)
	{
		printf("%lld\n",lcm(a,b)*lcm(a,b));
	}
	return 0;
}

 

你可能感兴趣的:(代码)