一个多项式可以表示为一组数对,数对中第一个数始终为整数,且唯一,表示多项式的次数,另一数表示为对应的系数且不为0。输入两组数对,每组以0 0作为结束,实现对两个多项式的加法并按降幂输出结果数对
时间: 2023-04-14 18:05:16 浏览: 90
好的,以下是中文回复:
首先,我们需要将输入的两组数对分别存储为两个多项式。可以使用一个字典来表示多项式,字典的键为次数,值为对应的系数。例如,输入数对 (3, 2) 表示多项式 2x^3,可以表示为字典 {3: 2}。
接下来,我们可以遍历两个多项式的所有次数,将对应的系数相加,得到结果多项式。最后,按照次数从高到低的顺序输出结果多项式的数对即可。
以下是示例代码:
poly1 = {}
poly2 = {}
# 输入第一个多项式
while True:
degree, coef = map(int, input().split())
if degree == and coef == :
break
poly1[degree] = coef
# 输入第二个多项式
while True:
degree, coef = map(int, input().split())
if degree == and coef == :
break
poly2[degree] = coef
# 计算结果多项式
result = {}
for degree in range(max(poly1.keys(), default=), max(poly2.keys(), default=) + 1):
coef = poly1.get(degree, ) + poly2.get(degree, )
if coef != :
result[degree] = coef
# 输出结果多项式
for degree in sorted(result.keys(), reverse=True):
print(degree, result[degree])