编写算法求一元多项式的值的值。
注意:不要使用内置的求幂函数,例如C中的pow()、Python中的等**
输入格式:
第一行为一个整数n和一个浮点数。其中0≤n≤30,000,表示多项式次数;为多项式中的变量x的取值。 第二行为空格分割的n+1个浮点数,由高到低表示多项式中项的系数。
可以假设输入总是合法的。
输出格式:
输出多项式的求值结果,保留三位小数,以换行结尾。
输入样例:
例如:
3 1.0
1 2 3 4
结尾无空行
对应多项式为,自变量取值为x=1.0。
输出样例:
输出为
10.000
结尾无空行
代码:
# include <iostream>
# include <iomanip>
using namespace std;
#include <stdio.h>
int main()
{
double x,t=1.0;
int n;
double f=0;
cin >> n >> x;
double a[30005];
for(int i=n ; i >= 0 ; i-- )
cin >> a[i];
for(int i=1 ; i <=n ;i ++)
{
t*=x;
f=f+t*a[i];
}
f=f+a[0];
cout<<fixed<< setprecision(3)<<f<<endl;
return 0;
}