切換
舊版
前往
大廳
主題

ZeroJudge - e315: NOIP2017 1.成績 解題心得

Not In My Back Yard | 2019-07-15 22:29:14 | 巴幣 0 | 人氣 92

題目連結:


題目大意:
給定三非負整數 A 、 B 、 C (0 ≦ A 、 B 、 C ≦ 100),分別代表作業、小測驗、期末考之成績。

而總成績之占比為:作業 20 % 、小測驗 30 % 、期末考 50 %。求總成績為多少?



範例輸入:
範例輸入一:
100 100 80

範例輸入二:
60 90 80


範例輸出:
範例輸出一:
90

範例輸出二:
79


解題思維:
這題唯一要注意的是惡名昭彰的「浮點數誤差」,因此不能先計算 A× 0.2 、 B × 0.3 、 C × 0.5 再將三者加起來。(因為位元有限,因此無法正確表示大部分十進位小數。細節請參見維基,或是在網路上搜尋「浮點數誤差」)

所以,先計算 A × 20 + B × 30 + C × 50 之後再除以 100 即可得到正解。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作