PAT练习 多项式的值
Description
实现一个多项式的类(a+b*x+c*x^2+d*x^3+...+),要求输入该多项式的系数和x
的值后打印出这个多项式的值。
Input
输入第一行为样例数m,对于每个样例,第一行为多项式最高项次数n,接下来n+1个整数表示每项系数,最后一个整数x,n不超过10。
Output
输出m行,表示个多项式代入x后的值。
Sample Input
1 2 1 2 3 2
Sample Output
17
C++实现
#include <stdio.h>
#include <math.h>
using namespace std;
class Poly{
public:
int max,x,coefficients[11];
void setdata();
void calc();
};
void Poly::setdata(){
memset(coefficients, 0, sizeof(coefficients));
scanf("%d",&max);
for(int i=0;i<max+1;i++){
scanf("%d",&coefficients[i]);
}
scanf("%d",&x);
}
void Poly::calc(){
int sum=0;
for(int i=0;i<max+1;i++){
sum+=coefficients[i]*pow(x, i);
}
printf("%d\n",sum);
}
int main(){
int m;
scanf("%d",&m);
Poly p[m];
for(int i=0;i<m;i++){
p[i].setdata();
p[i].calc();
}
}