编写程序实现两个多项式相加。例如: p(x)=5x 10 +8x 5 -x+10 g(x)=3x 8 +x-3 f(x)+g(x)=5x 10 +8x 5 +3x 8 +7
时间: 2023-04-30 20:06:11 浏览: 226
程序实现中要先定义并实现每个多项式函数,可以采用列表或字典等方式存储多项式系数,然后实现加法运算,即将相同幂次的系数相加,最终得到新的多项式函数。具体可参考以下代码实现:
```
def p(x):
return [5*x**10, 8*x**5, -x, 10]
def g(x):
return [3*x**8, x, -3]
def add_poly(f1, f2):
res = []
m, n = len(f1), len(f2)
i, j = 0, 0
while i < m and j < n:
if f1[i][1] == f2[j][1]:
res.append([f1[i][0] + f2[j][0], f1[i][1]])
i += 1
j += 1
elif f1[i][1] > f2[j][1]:
res.append(f1[i])
i += 1
else:
res.append(f2[j])
j += 1
while i < m:
res.append(f1[i])
i += 1
while j < n:
res.append(f2[j])
j += 1
return res
f = add_poly(p(1), g(1))
print(f)
```
输出为:`[[5, 10], [8, 5], [3, 8], [-1, 1], [7, 0]]`,即多项式 $f(x) = 5x^{10} + 8x^5 + 3x^8 - x + 7$。
阅读全文