L1 009 N個數求和

2021-08-14 19:24:33 字數 1332 閱讀 1063

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard 作者

陳越本題的要求很簡單,就是求n個數字的和。麻煩的是,這些數字是以有理數「分子/分母」的形式給出的,你輸出的和也必須是有理數的形式。

輸入格式:

輸入第一行給出乙個正整數n(<=100)。隨後一行按格式「a1/b1 a2/b2 ...」給出n個有理數。題目保證所有分子和分母都在長整型範圍內。另外,負數的符號一定出現在分子前面。

輸出格式:

輸出上述數字和的最簡形式 —— 即將結果寫成「整數部分 分數部分」,其中分數部分寫成「分子/分母」,要求分子小於分母,且它們沒有公因子。如果結果的整數部分為0,則只輸出分數部分。

輸入樣例1:

5

2/5 4/15 1/30 -2/60 8/3

輸出樣例1:
3 1/3
輸入樣例2:
2

4/3 2/3

輸出樣例2:
2
輸入樣例3:
3

1/3 -1/6 1/8

輸出樣例3:
7/24// 小心2個分數相加時超過int範圍,換成long就ok

// 分數化簡有很多方法,這裡用的是輾轉相減法

// #include #include #include using namespace std;

struct fractional

};void reduction(fractional& a)

while (a.denominator % 2 == 0 &&a. member % 2 == 0)

long denominator = abs(a.denominator), member = abs(a.member);

if (denominator < member)

swap(denominator, member);

while (1) }

cout << a.member / temp << "/" << a.denominator / temp;

}int main()

if (sum.member == 0)

cout << 0;

else

reduction(sum);

return 0;

}

L1 009 N個數求和

本題的要求很簡單,就是求n個數字的和。麻煩的是,這些數字是以有理數 分子 分母 的形式給出的,你輸出的和也必須是有理數的形式。輸入格式 輸入第一行給出乙個正整數n 100 隨後一行按格式 a1 b1 a2 b2 給出n個有理數。題目保證所有分子和分母都在長整型範圍內。另外,負數的符號一定出現在分子前...

L1 009 N個數求和

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 本題的要求很簡單,就是求n個數字的和。麻煩的是,這些數字是以有理數 分子 分母 的形式給出的,你輸出的和也必須是有理數的形式。輸入格式 輸入第一行給出乙個正整數n 100 隨後一行按...

L1 009 N個數求和

題目鏈結 時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 本題的要求很簡單,就是求n個數字的和。麻煩的是,這些數字是以有理數 分子 分母 的形式給出的,你輸出的和也必須是有理數的形式。輸入格式 輸入第一行給出乙個正整數n 100 ...