1 条题解

  • 0
    @ 2025-3-27 14:52:50
    #include <bits/stdc++.h>
    using namespace std;
    int gcd(int a, int b)
    {
        if (b == 0)
            return a;
        return gcd(b, a % b);
    }
    int main()
    {
        // p/q
        int p = 0, q = 1;
        // 输入每个分数,累加进去
        int a, b;
        char c;
        while (cin >> a >> c >> b)
        {
            // (p / q) + (a / b) = (pb + aq) / bq
            int pp = p * b + a * q;
            int qq = b * q;
            p = pp / gcd(pp, qq);
            q = qq / gcd(pp, qq);
        }
        if (q < 0)
            p *= -1, q *= -1;
        if (q == 1)
            cout << p;
        else
            cout << p << "/" << q << "\n";
        return 0;
    }
    
    • 1

    信息

    ID
    2367
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    28
    已通过
    8
    上传者