1481. 多项式乘积 - AcWing题库
多项式乘积进行运算时,结合实际可以发现,应该需要两次循环,通过枚举一个多项式每一项和另一多项式每一项进行乘运算。
#include <iostream>
using namespace std;
const int N = 1010, M = 2020;
double a[N], b[N], c[M];//分别表示第一个多项式,第二个多项式和答案多项式
int k;
int main()
{
cin >> k;
while(k --)
{
int n;
double v;
cin >> n >> v;
a[n] = v;
}
cin >> k;
while(k --)
{
int n;
double v;
cin >> n >> v;
b[n] = v;
}
for(int i = 0; i < 1010; i ++)//两个式子相乘
for(int j = 0; j < 1010; j ++)
{
c[i + j] += a[i] * b[j];
}
int t = 0;
for(int i = 0 ; i < 2020; i ++)
{
if(c[i]) t ++;
}
cout << t;
for(int i = 2019; i >= 0; i --)
{
if(c[i]) printf(" %d %.1lf",i, c[i]);
}
return 0;
}