#include<stdio.h>
#include<math.h>
int ZXGBS(int a,int b)
{
int i;
for(i=2;;i++)
{
if(i%abs(a)==0&&i%(b)==0)
{
return i;
break;
}
}
}
int ZDGYS(int a,int b)
{
int i,t;
if(abs(a)<=abs(b))
{
t=abs(a);
a=abs(b);
b=t;
}
for(i=abs(b);i>=1;i--)
{
if(abs(a)%i==0&&abs(b)%i==0)
{
return i;
break;
}
}
return 1;
}
int main()
{
char fuHao;
int a1,a2,b1,b2;
int c1,c2;
int t;
while(scanf("%d/%d%c%d/%d",&a1,&a2,&fuHao,&b1,&b2)!=EOF)
{
if(a2==0||b2==0)
{
continue;
}
if(a2<0)
{
a2*=-1;
a1*=-1;
}
if(b2<0)
{
b2*=-1;
b1*=-1;
}
c2=ZXGBS(a2,b2);
if(fuHao=='+')
{
c1=a1*(c2/a2)+b1*(c2/b2);
}
if(fuHao=='-')
{
c1=a1*(c2/a2)-b1*(c2/b2);
}
if(c1==0)
{
printf("0\n");
continue;
}
t=ZDGYS(c1,c2);
c1/=t;
c2/=t;
if((c1>0&&c2<0)||(c1<0&&c2<0))
{
c1*=-1;
c2*=-1;
}
if(c2==1)
{
printf("%d\n",c1);
}
else
{
printf("%d/%d\n",c1,c2);
}
}
return 0;
}
POJ - 3979
最新推荐文章于 2018-04-13 08:49:17 发布