秦九韶算法,计算n元多项式的值,只需要n次乘法和n次加法,时间复杂度O(n)。
#include<bits/stdc++.h>
double a[10009];
int main (){
int n;
std::cin>>n;
int i;
for(i=n;i>=0;i--){
std::cin>>a[i];
}
double x;
std::cin>>x;
double ans=a[n];
for(i=n-1;i>=0;i--){
ans=ans*x+a[i];
}
std::cout<<ans;
return 0;
}