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";     } }
   |