例如 3x^4 - 17x^2 - 3x + 5。多项式的每一项都可以表示为一对整数(系数,指数)。多项式本身就是这样的对的列表,例如
[(3,4), (-17,2), (-3,1), (5,0)]
对于如图所示的多项式。
零多项式 0 表示为空列表 []
,因为它没有非零系数项。
我想编写两个函数来添加和乘以具有相同元组表示(系数、指数)的两个输入多项式:
addpoly(p1, p2)
multpoly(p1, p2)
测试用例:
addpoly([(4,3),(3,0)], [(-4,3),(2,1)])
应该给 [(2, 1),(3, 0)]
addpoly([(2,1)],[(-2,1)])
应该给 []
multpoly([(1,1),(-1,0)], [(1,2),(1,1),(1,0)])
应该给 [(1, 3),(-1, 0)]
这是我开始但完全被打动的东西!
def addpoly(p1, p2):
(coeff1, exp1) = p1
(coeff2, exp2) = p2
if exp1 == exp2:
coeff3 = coeff1 + coeff2
原文由 Agarwal Prega 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个 python 代码对我有用,希望这对你也有用……
加法函数
乘法函数