CPE 一顆星選集 49 道必考題
題目連結:https://zerojudge.tw/ShowProblem?problemid=f444
內容
給定 X 與方程式,求微分後的值。
輸入
16
4 8 7 6 3
代表
X = 16
4X^4 + 8X^3 + 7X^2 + 6X^1 + 3
範例輸入
7
1 -1
2
1 1 1
範例輸出
1
5
想法
使用 getline 讀取方程式,接著利用 stringstream 將數字分別取出存入陣列。
遍歷一次陣列,運用微分公式 f′(x) = n*x^(n-1),即可求解。
程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <bits/stdc++.h> #define fastio ios_base::sync_with_stdio(false), cin.tie(nullptr) using namespace std;
int main(){ fastio; int x ,mp[1000], c, sum, num; string s; stringstream ss; while(cin >> x >> ws){ c = 0, sum = 0; getline(cin, s); ss << s; while(ss >> mp[c++]); --c; ss.str(""), ss.clear(); for(int i = 0; i < c-1; ++i){ num = c-i-1; sum += mp[i]*num*pow(x, num-1); } cout << sum << "\n"; } }
|