7-2 多项式求和 (10 分)

简介: 7-2 多项式求和 (10 分)

7-2 多项式求和 (10 分)


编写算法求一元多项式的值Pn(x)=∑i=0naixi的值Pn(x0)。


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


输入格式:


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

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


输出格式:


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


输入样例:


例如:


1. 3 1.0
2. 1 2 3 4


结尾无空行


对应多项式为P(x)=x3+2x2+3x+4,自变量取值为x=1.0。


输出样例:


输出为


10.000


结尾无空行


#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int n,i;
    double x,y,sum=0;
    cin>>n>>x;
    for(i=0;i<=n;i++){
        cin>>y;
        sum=sum*x+y;
    }
    cout<<setiosflags(ios::fixed);
    cout<<setprecision(3)<<sum<<endl;
    return 0;
}


#include<stdio.h>
double pow1(double s,int t,double a[]);
int main()
{
    int n,i;
    double x0;
    double a[30000];
    scanf("%d %lf",&n,&x0);
    for(i=0;i<=n;i++){
        scanf("%lf",&a[i]);
    }
    printf("%.3f",pow1(x0,n,a));
}
double pow1(double s,int t,double a[])
{
    double cout=1.0;
    double sum=a[t];
    int i;
    for(i=t-1;i>=0;i--){
    cout=cout*s;
    sum=sum+a[i]*cout;
    }
    return sum;
}


目录
相关文章
|
5月前
【P1035】级数求和
【P1035】级数求和
|
6月前
分数1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 求和
分数1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 求和
89 0
L2-018 多项式A除以B (25 分)(数组模拟)
L2-018 多项式A除以B (25 分)(数组模拟)
180 0
L2-018 多项式A除以B (25 分)(数组模拟)
L1-048 矩阵A乘以B (15 分)
L1-048 矩阵A乘以B (15 分)
113 0
L1-048 矩阵A乘以B (15 分)
|
存储
【CCCC】L2-018 多项式A除以B (25分),多项式除法
【CCCC】L2-018 多项式A除以B (25分),多项式除法
180 0
h0039. 平方数 (15 分)
h0039. 平方数 (15 分)
132 0
L1-036 A乘以B (5 分)
L1-036 A乘以B (5 分)
98 0
7-1 一元多项式求导 (10 分)
7-1 一元多项式求导 (10 分)
107 0
7-166 二分法求多项式单根 (20 分)
7-166 二分法求多项式单根 (20 分)
122 0