NC15188. 多项式乘法
描述
输入描述
输入共三行。
第一行两个整数 ,表示多项式 的最高次项次数 和 的最高次项次数 。
第二行 个整数,表示多项式 的每一项的系数。按次数从小到大的顺序排列。
第三行 个整数,表示多项式 的每一项的系数。按次数从小到大的顺序排列。
输出描述
输出共一行, 个整数,表示乘积多项式的每一项的系数。按次数从小到大排列。
示例1
输入:
2 3 2 1 3 1 2 0 2
输出:
2 5 5 10 2 6
说明:
C++(clang++11) 解法, 执行用时: 8ms, 内存消耗: 544K, 提交时间: 2021-04-05 20:58:27
#include<bits/stdc++.h> using namespace std; int a[505]; int c[1005]; int main(){ int m,n,i,j,p; cin>>m>>n; for(i=0;i<=m;i++){ cin>>a[i]; } for(i=0;i<=n;i++){ cin>>p; for(j=0;j<=m;j++){ c[i+j]+=a[j]*p; } } for(i=0;i<n+m;i++){ cout<<c[i]<<" "; } cout<<c[i]<<endl; }
Python(2.7.3) 解法, 执行用时: 96ms, 内存消耗: 3172K, 提交时间: 2018-03-17 19:40:07
n,m=map(int,raw_input().split()) a=map(int,raw_input().split()) b=map(int,raw_input().split()) c=[0]*(n+m+1) for i in range(n+1) : for j in range(m+1) : c[i+j]+=a[i]*b[j] for i in range(n+m) : print c[i], print c[n+m]
pypy3 解法, 执行用时: 125ms, 内存消耗: 26304K, 提交时间: 2021-12-03 20:05:55
n,m=map(int,input().split(' ')) a=list(map(int, input().split(' '))) b=list(map(int, input().split(' '))) c=[0]*(n+m+1) for i in range(n+1): for j in range(m+1): #print(i,j,a[i]*b[j]) c[i+j]+=a[i]*b[j] print(*c)
Python3 解法, 执行用时: 180ms, 内存消耗: 4720K, 提交时间: 2023-07-29 11:15:56
m,n=map(int,input().split()) a=list(map(int,input().split())) b=list(map(int,input().split())) s=[0]*(m+n+1) for i in range(m+1): for j in range(n+1): s[i+j]+=a[i]*b[j] print(*s)