题目描述
实现一个多项式的类(a+b*x+c*x^2+d*x^3+…+),要求输入该多项式的系数和x的值后打印出这个多项式的值。
输入第一行为样例数m,对于每个样例,第一行为多项式最高项次数n,接下来n+1个整数表示每项系数,最后一个整数x,n不超过10。
1
2
1 2 3
2
Output
输出m行,表示个多项式代入x后的值。
17
code
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
class polyfun
{
private:
int m_x, m_ans;
public:
polyfun(){};
polyfun(int x);
void res(int a[], int n);
void show();
};
polyfun::polyfun(int x)
{
m_x = x;
m_ans = 0;
}
void polyfun::res(int a[], int n)
{
int i;
for (i = 0; i <= n; i++)
{
m_ans += a[i] * pow(m_x, i);
}
}
void polyfun::show()
{
cout << m_ans << endl;
}
int main()
{
int m, i, a[15], x;
cin >> m;
while (m--)
{
int n;
cin >> n;
for (i = 0; i <= n; i++)
{
cin >> a[i];
}
cin >> x;
polyfun p(x);
p.res(a, n);
p.show();
}
return 0;
}