1
爲什麼我在這個問題上超出了時間限制?鏈接:http://www.spoj.com/problems/ENIGMATH/Spoj:ENIGMATH - 玩數學遊戲
lcm很容易用兩個數字的gcd幫助計算出來。用於計算gcd歐幾里得算法。
#include<iostream>
using namespace std;
long long int gcd(long long int a,long long int b)
{
if(b==0)
return a;
else
return gcd(b,a%b);
}
int main()
{
long long int t,a,b,lcm,i=0;
cin>>t;
while(i<t)
{
cin>>a>>b;
if(a==b)
cout<<"1 1\n";
else
{
lcm=(a*b)/gcd(a,b);
cout<<lcm/a<<" "<<lcm/b<<"\n";
}
}
return 0;
}