编写一个函数(您选择编程语言)来有效地计算单变量多项式:f(x) = a0 + a1*x + a2*x^2 + a3*x^3 + … + an*x^n。 请注意,n 不是常数。 接口可以如下所示(在 C++ 中):(15 分) double calcPoly(const vector<double>& a, double x) { ...
时间: 2023-09-04 10:11:39 浏览: 128
多项式计算C++
以下是一个用 C++ 编写的函数,用于计算单变量多项式:
```cpp
double calcPoly(const vector<double>& a, double x) {
double result = 0.0;
double xn = 1.0; // x^n
for (int i = 0; i < a.size(); i++) {
result += a[i] * xn;
xn *= x;
}
return result;
}
```
该函数以向量 a 和实数 x 作为输入参数,向量 a 包含多项式系数 a0、a1、a2、a3、...、an,其中 n 是多项式的次数。函数通过迭代向量 a 中的所有系数,并使用幂次为 i 的 x 的值来计算每个系数的乘积,并将所有乘积相加,最终返回多项式在 x 处的值。
这个函数的时间复杂度为 O(n),其中 n 是多项式的次数。
阅读全文