本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 裁判测试程序样例:
时间: 2024-02-28 14:53:55 浏览: 192
勒让德多项式
以下是实现该函数的代码,您可以参考:
```c++
#include <iostream>
using namespace std;
double f(int n, double a[], double x) {
double result = 0.0;
for (int i = 0; i <= n; i++) {
result += a[i] * pow(x, i);
}
return result;
}
int main() {
int n;
double x;
cin >> n >> x;
double a[n+1];
for (int i = 0; i <= n; i++) {
cin >> a[i];
}
cout << f(n, a, x) << endl;
return 0;
}
```
在这个代码中,我们使用了一个循环来计算多项式在给定点x处的值。具体来说,我们遍历了多项式中每个项的系数,然后将它们与x的幂次相乘,最终将它们相加得到多项式在x处的值。我们使用了pow函数来计算x的幂次,该函数定义在cmath头文件中。
阅读全文