求两个一元多项式的和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分1行,分别以指数递降方式输出和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。
时间: 2023-03-22 10:02:18 浏览: 115
线性表课程设计c语言实现
您可以尝试使用以下 Python 代码来解决此问题:
```python
# 获取输入
input_str = input()
# 分割每行的数字
input_list = input_str.split('\n')
# 将每行数字分割为多个非零项的多项式
polynomials = []
for line in input_list:
nums = list(map(int, line.split()))
nonzero_indices = [i for i, num in enumerate(nums) if num != 0]
polynomial = [nums[i] for i in nonzero_indices]
polynomials.append(polynomial)
# 计算和多项式
sum_poly = [0] * (len(polynomials[0]) - 1)
for poly in polynomials:
for i, coeff in enumerate(poly):
sum_poly[i] += coeff
# 输出和多项式
output_str = ' '.join(str(coeff) for coeff in sum_poly)
print(output_str)
# 计算和指数
sum_exp = len(sum_poly) - 1
# 输出和指数
print(sum_exp)
```
这个代码片段首先将输入拆分成多行数字,然后将每一行的数字分割为多个非零项的多项式。接下来,它计算这些多项式的和多项式,并输出和多项式。最后,它计算和多项式的指数,并输出该指数。
请注意,此代码假定每个多项式都具有相同的最高阶项。如果不是这种情况,需要添加代码来使其适应不同的最高阶项。
阅读全文