2075 - 【入门】多项式相乘
时间限制 : 1 秒
内存限制 : 128 MB
周周在数学课中学到了如何进行两个多项式相乘的操作,例如要计算(2x + 4x^2) \times (3x + 4),先要利用分配律将两个式子拆开相乘,再合并幂次相同的项。
当我们计算 2x \times 3x^2 时,前面的系数相乘作为结果的系数,幂次数相加作为结果的幂次数,即
(2 \times 3)x^{1 + 2} = 6x^3,因此上面的式子可以这样计算:
\ \ \ (2x + 4x^2) \times (3x + 4)
= 6x^2 + 12x^3 + 8x + 16x^2
= 12x^3 + 22x^2 + 8x
那么,我们可以使用数组下标来表示幂次数,数组元素的值表示系数,模拟一下上面的计算过程,就能得到两个多项式相乘的结果了。
输入
输入有 4 行,每行有两个空格隔开的整数 a, b, 1 \leq a\leq 10, 0 \leq b \leq 10,分别代表系数和幂次数,例如 2 \ 3 代表 2x^3。其中前两行属于第一个多项式,后两行属于第二个多项式
输出
输出若干行,表示多项式相乘的结果,每一项输出一行,按照幂次数从大到小输出。
样例
输入
2 1 4 2 3 1 4 0
输出
12 3 22 2 8 1
提示
对于 2x \times 3x^2,这两项在数组中会以 arr[1] = 2 和 arr[2] = 3 的形式存储,相乘的结果会存储在 arr[1 + 2],存储的值为 2 \times 3。
因此我们在进行多项式相乘时,要将系数相乘后的结果存入下标为幂次数相加的数组元素中,最后我们要写一个倒序循环,从大到小输出所有系数不为 0 的项的系数和幂次。