#include<stdio.h>
long long gcd(long long a, long long b){
if (!a)
return b;
if (!b)
return a;
if (a < 0)
a = -a;
if (b < 0)
b = -b;
int tmp;
while (b){
tmp = a % b;
a = b;
b = tmp;
}
return a;
}
void print(long long a, long long b){
if (!b){
printf("Inf");
return;
}
long long intpart = 0;
intpart = a / b;
a = a % b;
if (a < 0||intpart<0){
putchar('(');
if (intpart || !intpart&&!a){
printf("%lld", intpart);
a = -a;
if (a){
putchar(' ');
printf("%lld/%lld", a, b);
}
a = 0;
}
if (a)
printf("%lld/%lld", a, b);
putchar(')');
}
else {
if (intpart || !intpart&&!a){
printf("%lld", intpart);
if (a){
putchar(' ');
printf("%lld/%lld", a, b);
}
a = 0;
}
if (a)
printf("%lld/%lld", a, b);
}
}
int main(){
freopen("1.in", "r", stdin);
long long a1, b1, a2, b2, a3, b3;
scanf("%lld/%lld %lld/%lld", &a1, &b1, &a2, &b2);
long long g = gcd(a1, b1);
a1 /= g;
b1 /= g;
g = gcd(a2, b2);
a2 /= g;
b2 /= g;
print(a1, b1);
printf(" + ");
print(a2, b2);
printf(" = ");
b3 = b1*b2/gcd(b1, b2);
a3 = a1*b3 / b1 + a2*b3 / b2;
print(a3, b3);
putchar('\n');
print(a1, b1);
printf(" - ");
print(a2, b2);
printf(" = ");
a3 = a1*b3 / b1 - a2*b3 / b2;
print(a3, b3);
putchar('\n');
print(a1, b1);
printf(" * ");
print(a2, b2);
printf(" = ");
a3 = a1*a2;
b3 = b1*b2;
g = gcd(a3, b3);
a3 /= g;
b3 /= g;
print(a3, b3);
putchar('\n');
print(a1, b1);
printf(" / ");
print(a2, b2);
printf(" = ");
a3 = a1*b2;
b3 = b1*a2;
if (b3 < 0){
a3 = -a3;
b3 = -b3;
}
g = gcd(a3, b3);
a3 /= g;
b3 /= g;
print(a3, b3);
putchar('\n');
return 0;
}
pat 1088
最新推荐文章于 2020-01-13 18:14:59 发布