问题描述:
求解n次多项式之和;
第一行输入两个数,n(多项式最高项),x(表示具体所求多项式的值,即带入计算的值)
第二行输入n+1个数,表示多项式系数
输出:多项式结果
解决思想:
多项式求值
1.p(0)=a[n]
2.p(i)=p(i-1)*x+a[n-i]
依次迭代递归计算
样例输入:
3 2
1 2 3 4
样例输出
26
AC代码(c++):
#include<bits/stdc++.h>
using namespace std;
/*
多项式求值
1.p(0)=a[n]
2.p(i)=p(i-1)*x+a[n-i]
*/
int n; //最高项n
double a[100]; //存储数组
double x; //x的值
//子多项式函数
double f(int i){
if(i==0){
return a[n];
}
else{
return f(i-1)*x+a[n-i];
}
}
int main(){
cin>>n;
cin>>x;
//输入系数
for(int i=n;i>=0;i--){
cin>>a[i];
}
double result=f(n);
cout<<result<<endl;
return 0;
}