PS:题目提示说不要使用内置求幂函数,但是我用了也没有报错。
输入格式:
第一行为一个整数n和一个浮点数x0。其中0≤n≤30,000,表示多项式次数;x0为多项式中的变量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;
}
运行答案正确!