题目描述
对于一元多项式 p(x)=p0+p1x+p2x2+ … +pnxn ,每个项都有系数和指数两部分,例如p2x2的系数为p2,指数为2。
编程实现两个多项式的加法、减法、乘法。
例如:多项式A = 5+x+2x2,多项式B = -x+4x4,计算:
A+B = 5+2x2+4x4
A-B = 5 + 2x +2x2 - 4x4
A*B = -5x - x2 -2x3 +20x4 + 4x5+8x6
实现方法不限,可以使用容器。
输入
测试次数t,每组测试数据格式如下:
第一行,第一个多项式A的项数n(n>0)
第二行,A的每一项的系数 指数(共2n个数字,均为整数,以空格分隔)
第三行,第一个多项式B的项数m(m>0)
第四行,B的每一项的系数 指数(共2m个数字,均为整数,以空格分隔)
输出
对每组测试数据,输出五行,分别是:
多项式A
多项式B
A+B
A-B
A*B
每组测试数据间以空行分隔。
多项式输出格式:项之间用+连接,例如,1 + x 。但后一项系数为负数,不输出+号,如: 1 + (-2x2),输出为1 - 2x^2。
如果该项:系数为0,不输出,但表达式只有一项0,要输出。
指数为0,不输出x^0。指数为负数,例如-3,输出x^(-3)。指数为正数,例如3,输出x^3。指数为1,输出x。
以上一句话总结:和数学中多项式表示相同,x的指数加^表示。
输入样例1
2
2
1 0 1 1
2
-1 0 -1 1
3
5 0 1 1 2 2
2
-1 1 4 4
输出样例11+x
-1-x
0
2+2x
-1-2x-x^25+x+2x^2
-x+4x^4
5+2x^2+4x^4
5+2x+2x^2-4x^4
-5x-x^2-2x^3+20x^4+4x^5+8x^6
后台样例输入
2
1
0 -5
2
3 -2 4 0
3
-3 -5 0 2 1 3
1
1 1后台样例输出
0
3x^(-2)+4
3x^(-2)+4