題目連結:
給定三非負整數 A 、 B 、 C (0 ≦ A 、 B 、 C ≦ 100),分別代表作業、小測驗、期末考之成績。
而總成績之占比為:作業 20 % 、小測驗 30 % 、期末考 50 %。求總成績為多少?
範例輸入一:
100 100 80
範例輸入二:
60 90 80
這題唯一要注意的是惡名昭彰的「浮點數誤差」,因此不能先計算 A× 0.2 、 B × 0.3 、 C × 0.5 再將三者加起來。(因為位元有限,因此無法正確表示大部分十進位小數。細節請參見
維基,或是在網路上搜尋「浮點數誤差」)
所以,先計算 A × 20 + B × 30 + C × 50 之後再除以 100 即可得到正解。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。