PTA - 多项式求和 (20分 附注释)

在这里插入图片描述
PS:题目提示说不要使用内置求幂函数,但是我用了也没有报错。

输入格式:

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

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

输出格式:

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

输入样例:

例如:

3 1.0
1 2 3 4

在这里插入图片描述

输出样例:

10.000

直接上代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    int n;
    double m;
    double a[30000];  //记录每一项的系数
    while(cin>>n>>m)  //设置多组输入
    {
        double fx=0,x0=0;  //fx是多项式的值,x0是是每一项的值
        for(int i=n;i>=0;i--)  //这里逆序循环,是为了方便项与项的乘积和加上最后一项
            cin>>a[i];  //输入系数
        for(int i=n;i>0;i--)
        {
           x0=a[i]*pow(m,i);  
           fx+=x0;
        }
        printf("%.3lf\n",fx+a[0]);  
    }
    return 0;
}

运行答案正确!

发布了4 篇原创文章 · 获赞 1 · 访问量 80

猜你喜欢

转载自blog.csdn.net/weixin_45836300/article/details/104231064