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