1582 - 多项式的值0
实现一个多项式的类(a+b*x+c*x^2+d*x^3+...+),要求输入该多项式的系数和x
的值后打印出这个多项式的值。
Input
输入第一行为样例数m,对于每个样例,第一行为多项式最高项次数n,接下来n+1个整数表示每项系数,最后一个整数x,n不超过10。
Output
输出m行,表示个多项式代入x后的值。
Examples
Input
1 2 1 2 3 2
Output
17
Solution C
#include<stdio.h> int main() { int Xcm(int a,int b); int n,m,i,x,a[20],s;//m为最高次数幂,数组a[20]存下每次输入的数 scanf("%d",&n);//i为计时器,s计算每个表达式的值 while(n--) { scanf("%d",&m); for(i=0;i<=m;++i) scanf("%d",&a[i]); scanf("%d",&x); s=a[0]; for(i=1;i<=m;++i) s+=a[i]*Xcm(x,i); printf("%d\n",s); } return 0; } int Xcm(int a,int b) { int i,s=a; for(i=1;i<b;++i) s=s*a; return s; }
Solution C++
#include <iostream> #include <cstdio> using namespace std; int main() { //freopen("test.in", "r", stdin); //freopen("test.out", "w", stdout); int n, x, t; int num[20]; cin >> t; while (t--) { cin >> n; for (int i = 0; i <= n; ++i) cin >> num[i]; cin >> x; int s = 0; for (int i = n; i >= 0; --i) s = s * x + num[i]; cout << s << endl; } return 0; }