由于牛客的题复制过来有格式问题,所以我这里放下原题截图,需要测试的同志们也可以自行去牛客看原题测试,(¬‿¬);
本题还是偏向考查数学并且用代码实现的能力,大部分说明请看代码,我会尽量写详细,有问题或者还需优化的地方,还请大佬们指教!!༼ つ ◕_◕ ༽つ
思路图如下:
由此得到公式:c[i+j]+=a[i]*b[j] ,
#include<cstdio>
int main()
{
int m,n,a[550],b[550],c[1100]={0};//数组c必须初始化
scanf("%d%d",&m,&n);
for(int i=0;i<m+1;i++)
scanf("%d",&a[i]);
for(int i=0;i<n+1;i++)
scanf("%d",&b[i]);
//输入完成
for(int i=0;i<m+1;i++)
for(int j=0;j<n+1;j++)
c[i+j]+=a[i]*b[j];
//由数学推出公式,后面会附上推理图,今天太晚了
//控制输出格式
printf("%d",c[0]);
for(int i=1;i<m+n+1;i++)
printf(" %d",c[i]);
printf("\n");
return 0;
}