這個問題可以通過使用數學的導數規則來解決。對于一個多項式,它的導數可以通過將每一項的系數乘以它的指數,然后降低該項的指數來得到。這個過程可以重復M次來得到多項式的M階導數。然后,我們可以簡單地將所有項的系數相加來得到結果。
以下是一個C++的解決方案:
#include <iostream>
#include <vector>using namespace std;int main() {int n, m;cin >> n >> m;vector<int> a(n + 1);for (int i = 0; i <= n; ++i) {cin >> a[i];}for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {a[j] = a[j + 1] * (j + 1);}a[n] = 0;--n;}int sum = 0;for (int i = 0; i <= n; ++i) {sum += a[i];}cout << sum << endl;return 0;
}
這段代碼首先讀取多項式的次數n和導數的階數m,然后讀取多項式的系數。然后,它重復m次計算導數,每次都將每一項的系數乘以它的指數,并降低該項的指數。最后,它將所有項的系數相加并輸出結果。