【发布时间】:2017-07-15 14:33:05
【问题描述】:
例如,3x^4 - 17x^2 - 3x + 5。多项式的每一项都可以表示为一对整数(系数、指数)。即[(3,4),(-17,2), (-3,1), (5,0)]
我们有以下约束来保证每个多项式都有唯一的表示:
- 项按指数降序排列
- 没有一个词的系数为零
- 没有两个项具有相同的指数
- 指数总是非负的
为以下操作编写 Python 函数:
addpoly(p1,p2)
multpoly(p1,p2)
一些例子:
>>> addpoly( [(4,3),(3,0)], [(-4,3),(2,1)] )
[(2, 1),(3, 0)]
解释:(4x^3 + 3) + (-4x^3 + 2x) = 2x + 3
>>> addpoly( [(2,1)], [(-2,1)] )
[]
解释:2x + (-2x) = 0
>>> multpoly( [(1,1),(-1,0)], [(1,2),(1,1),(1,0)] )
[(1, 3),(-1, 0)]
解释:(x - 1) * (x^2 + x + 1) = x^3 - 1
【问题讨论】:
-
如果你被允许使用库,只需使用 sympy。无需重新发明轮子
-
@user2341726:OP 被要求提供一个实现:“为
addpoly, multpoly编写 Python 函数”
标签: python list python-3.x tuples polynomial-math