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