PTA 多项式求和

208 阅读1分钟

编写算法求一元多项式的值Pn(x)=i=0naixiP_n(x)=\sum_{i=0}^{n}a_ix^i的值Pn(x0)P_n(x_0)

注意:不要使用内置的求幂函数,例如C中的pow()、Python中的等**

输入格式:

第一行为一个整数n和一个浮点数x0x_0。其中0≤n≤30,000,表示多项式次数;x0x_0为多项式中的变量x的取值。 第二行为空格分割的n+1个浮点数,由高到低表示多项式中项的系数。

可以假设输入总是合法的。

输出格式:

输出多项式的求值结果,保留三位小数,以换行结尾。

输入样例:

例如:

3 1.0
1 2 3 4
结尾无空行

对应多项式为P(x)=x3+2x2+3x+4P(x)=x^3+2x^2+3x+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;
}

提交结果: