#include<stdio.h> #include<string.h> #include<math.h> int gcd(int a,int b) { if(b==0) return a; else return gcd(b,a%b); } int main() { int a,b,c,d; long long int fz,fm; char ch; while(scanf("%d/%d%c%d/%d",&a,&b,&ch,&c,&d)!=EOF) { if(ch=='+') { fz=a*d+b*c; fm=b*d; } else if(ch=='-') { fz=a*d-b*c; fm=b*d; } else if(ch=='*') { fz=a*c; fm=b*d; } else if(ch=='/') { fz=a*d; fm=b*c; } long long int t=gcd(abs(fz),abs(fm)); if(fz==0) printf("0\n"); else if(fm==1) printf("%lld\n",fz); else if(fz<0||fm<0) { printf("-%lld/%lld\n",abs(fz)/t,abs(fm)/t); } else printf("%lld/%lld\n",fz/t,fm/t); } return 0; } |
Double click to view unformatted code.