#include <algorithm> #include <cstring> #include <iostream> #include <string> using namespace std; int f(int a, int b) { if (b != 0) return f(b, a % b); else return a; } int main() { int a, b, c, d; char ch; int ans1, ans2, flag; while (scanf("%d/%d%c%d/%d", &a, &b, &ch, &c, &d) != EOF) { if (ch == '-') flag = -1; else flag = 1; if (b != d) { int tmp1=b, tmp2=d; b *= tmp2; a *= tmp2; c *= tmp1; d *= tmp1; } ans1 = a + flag * c; ans2 = b; int tmp = f(abs(ans1), abs(ans2)); ans1 /= tmp; ans2 /= tmp; if(ans2 == 1 || ans1 == 0) printf("%d\n", ans1); else printf("%d/%d\n", ans1, ans2); } } |
Double click to view unformatted code.