2021.7.13
今天做的第一题...
在csdn上看见的 “相遇周期:一个卫星的周期为3圈每天,另一个为4圈每天,相遇周期就为12圈每天。”要不然还真不会做,
#include<stdio.h>
#include<math.h>
int gcd(int a,int b)
{
int r,t;
if(a<b)
{
t=a;
a=b;
b=t;
}
while((r=a%b)!=0)
{
a=b;
b=r;
}
return b;
}//求最大公约数
int lcm(int a,int b)
{
return a/gcd(a,b)*b;//这里这样做是为了防止溢出,不这样会WA,这样做不用改为long型
}//最小公倍数
int main()
{
int n,a1,a2,b1,b2,gcda,gcdb;
scanf("%d",&n);
while(n--)
{
scanf("%d/%d",&a1,&a2);
scanf("%d/%d",&b1,&b2);
gcda=gcd(a1,a2);
gcdb=gcd(b1,b2);
a1/=gcda; a2/=gcda;//化简
b1/=gcdb; b2/=gcdb;//化简
int lcm1=lcm(a1,b1);
int gcd2=gcd(a2,b2);
if(lcm1%gcd2!=0)
{
printf("%d/%d\n",lcm1,gcd2);
}
else
{
printf("%d\n",lcm1/gcd2);
}
}
}
301

被折叠的 条评论
为什么被折叠?



