这个问题可以通过使用数学的导数规则来解决。对于一个多项式,它的导数可以通过将每一项的系数乘以它的指数,然后降低该项的指数来得到。这个过程可以重复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次计算导数,每次都将每一项的系数乘以它的指数,并降低该项的指数。最后,它将所有项的系数相加并输出结果。