本文由Jzwalliser原創,發布在CSDN平臺上,遵循CC 4.0 BY-SA協議。
因此,若需轉載/引用本文,請注明作者并附原文鏈接,且禁止刪除/修改本段文字。
違者必究,謝謝配合。
個人主頁:blog.csdn.net/jzwalliser
題目
洛谷 P3954 [NOIP2017 普及組] 成績
[NOIP2017 普及組] 成績
題目背景
NOIP2017 普及組 T1
題目描述
牛牛最近學習了 C++ 入門課程,這門課程的總成 績計算方法是:
總成績 = 作業成績 × 20 % + 小測成績 × 30 % + 期末考試成績 × 50 % \text{總成績}=\text{作業成績}\times 20\%+\text{小測成績}×30\%+\text{期末考試成績} \times 50\% 總成績=作業成績×20%+小測成績×30%+期末考試成績×50%
牛牛想知道,這門課程自己最終能得到多少分。
輸入格式
三個非負整數 A , B , C A,B,C A,B,C,分別表示牛牛的作業成績、小測成績和期末考試成績。相鄰兩個數之間用一個空格隔開,三項成績滿分都是 100 100 100 分。
輸出格式
一個整數,即牛牛這門課程的總成績,滿分也是 100 100 100 分。
樣例 #1
樣例輸入 #1
100 100 80
樣例輸出 #1
90
樣例 #2
樣例輸入 #2
60 90 80
樣例輸出 #2
79
提示
樣例 1 說明
牛牛的作業成績是 100 100 100 分,小測成績是 100 100 100 分,期末考試成績是 80 80 80 分,總成績是 100 × 20 % + 100 × 30 % + 80 × 50 % = 20 + 30 + 40 = 90 100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90 100×20%+100×30%+80×50%=20+30+40=90。
樣例 2 說明
牛牛的作業成績是 60 60 60 分,小測成績是 90 90 90 分,期末考試成績是 80 80 80 分,總成績是 60 × 20 % + 90 × 30 % + 80 × 50 % = 12 + 27 + 40 = 79 60 \times 20\%+90 \times 30\%+80 \times 50\%=12+27+40=79 60×20%+90×30%+80×50%=12+27+40=79。
數據說明
對于 30 % 30\% 30% 的數據, A = B = 0 A=B=0 A=B=0。
對于另外 30 % 30\% 30% 的數據, A = B = 100 A=B=100 A=B=100。
對于 100 % 100\% 100% 的數據, 0 ≤ A , B , C ≤ 100 0≤A,B,C≤100 0≤A,B,C≤100 且 A , B , C A,B,C A,B,C 都是 10 10 10 的整數倍。
想法
這道題非常非常簡單:輸入三個數字,然后再將這三個數分別乘以一個比例,相加,最后輸出。當然,有個小技巧:為了防止出現浮點數精度損失或者其它莫名其妙的問題,我們將“乘0.2”轉化為“乘2除10”。
實現
- 輸入三個數。
- 分別乘以一個權值。
- 輸出。
題解
C++
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main(){cin >> a >> b >> c; //輸入cout << a * 2 / 10 + b * 3 / 10 + c * 5 / 10; //乘以相應權重并輸出return 0;
}
Python
a,b,c = input().split() #輸入
a = int(a)
b = int(b)
c = int(c)
print(int(a * 2 / 10 + b * 3 / 10 + c * 5 / 10)) #乘以相應權重并輸出
難度
難度:★☆☆☆☆
這道題實在是太簡單了啊,直接輸入數據,然后乘以權值就可以。
結尾
這道題你是怎么AC的?歡迎討論!