游客 Signup | Login
中文 | En

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;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题