1. 两个一元多项式求和(新) 【问题描述】编写一个程序实现两个一元多项式相加的运算。 【输入形式】从标准输入中读入两行以空格分隔的整数,每一行代表一个多项式,且该多项式中各项的系数均为0或正整数,最高幂次不超过50。对于多项式 anxn + an-1xn-1+ ... + a1x1 + a0x0 (n<50)的表示方法如下: an n an-1 n-1 ... a1 1 a0 0 即相邻两个整数分别表示表达式中一项的系数和指数。在输入中只出现系数不为0的项。 【输出形式】将运算结果输出到屏幕。将系数不为0的项按指数从高到低的顺序输出,每次输出其系数和指数,均以一个空格分隔。在行的末尾也输出一个空格符,并且最后要求换行。
时间: 2024-03-07 19:49:18 浏览: 110
一般一元多项式的求和
好的,我已经理解了你的问题。以下是解决方案:
```python
# 定义一个函数用于读取多项式
def read_poly():
poly = {}
line = input().strip().split()
while len(line) > 0:
coef = int(line[0])
exp = int(line[1])
poly[exp] = poly.get(exp, 0) + coef
line = input().strip().split()
return poly
# 定义一个函数用于相加两个多项式
def add_poly(poly1, poly2):
result = {}
for exp, coef in poly1.items():
result[exp] = coef
for exp, coef in poly2.items():
result[exp] = result.get(exp, 0) + coef
return result
# 读取两个多项式并相加
poly1 = read_poly()
poly2 = read_poly()
result = add_poly(poly1, poly2)
# 按指数从高到低输出相加结果
sorted_exp = sorted(result.keys(), reverse=True)
for exp in sorted_exp:
coef = result[exp]
print(coef, exp, end=' ')
print()
```
这个程序定义了两个函数,`read_poly()` 和 `add_poly()`,分别用于读取一个多项式和相加两个多项式。主程序部分通过调用这两个函数来完成多项式相加的过程。最后,按照指数从高到低的顺序输出相加结果。
阅读全文