求分数的最小公倍数。对于a/b c/d 先化简为最简分数,分数最小公倍数=分子的最小公倍数/分母的最大公约数。
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<string>
using namespace std;
__int64 gcd(__int64 a,__int64 b)
{
__int64 t;
if(a<b) swap(a,b);
while(b)
{
t=a;
a=b;
b=t%b;
}
return a;
}
int main()
{
int t,a,b,c,d,g;
__int64 x,y,z;
cin>>t;
while(t--)
{
scanf("%d/%d %d/%d",&a,&b,&c,&d);
g=gcd(a,c);
x=a/g*c;
b*=c/g;
d*=a/g;
y=gcd(b,d);
z=gcd(x,y);
if(y==z)
printf("%I64d
",x/z);
else printf("%I64d/%I64d
",x/z,y/z);
}
return 0;
}