多项式加法和多项式乘法
思路
多项式加法:设置好一个最大长度列表,索引作为指数,对应元素作为相应系数,分别对两个多项式列表进行遍历,在对应指数进行相应系数加减
多项式乘法:嵌套遍历多项式列表,指数相加,系数相乘
需要注意的点
多项式相乘后指数最大为1000,因此l3最大要设置为2001
1002代码
l1=list(map(float,input().split()))
l2=list(map(float,input().split()))
k1,k2=int(l1[0]),int(l2[0])
l3=[0 for _ in range(1001)]
for i in range(1,k1+1):
p=int(l1[i*2-1])
l3[p]+=l1[i*2]
for j in range(1,k2+1):
q=int(l2[j*2-1])
l3[q]+=l2[j*2]
l4,c=[],0
for i in range(1000,-1,-1):
if l3[i]!=0:
c+=1
l4.extend([i,round(l3[i],1)])
print(c,*l4)
1009代码
l1=list(map(float,input().split()))
l2=list(map(float,input().split()))
l3=[0 for i in range(2001)]
k1,k2=int(l1[0]),int(l2[0])
l1=l1[1:]
l2=l2[1:]
for i in range(k1):
for j in range(k2):
q=int(l1[i*2])+int(l2[j*2])
l3[q]+=l1[i*2+1]*l2[j*2+1]
l4,c=[],0
for i in range(2000,-1,-1):
if l3[i]!=0:
c+=1
l4.extend([i,round(l3[i],1)])
print(c,*l4)
参考文章
https://www.liuchuo.net/archives/2026