题目链接:多项式相乘
题目思路:用数组存每个指数所对应的系数,题中所说,a,b<=10,所以指数最大为20
#include <bits/stdc++.h>
using namespace std;
int a[2][2]; //存第一项
int b[2][2];//存第二项
int ans[22];//存指数所对应的系数
int main()
{
for(int i = 0; i < 2; i++)
scanf("%d%d", &a[i][0],&a[i][1]);
for(int i = 0; i < 2; i++)
scanf("%d%d", &b[i][0],&b[i][1]);
memset(ans, 0, sizeof(ans));
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 2; j++)
{
ans[a[i][1]+b[j][1]] += a[i][0]*b[j][0]; //两个多项相乘,a[i][1]+b[j][1]是指
//数相加,a[i][0]*b[j][0]是系数相乘
}
}
for(int i = 20; i >= 0; i--)
{
if(ans[i])
printf("%d %d\n", ans[i],i);
}
return 0;
}