You are on page 1of 2

Class polynomial:

Def __init__(self, coeff = 0, pow = 0, nxt = None):


Self.coefficient = coeff
Self.power = pow
Self.next = nxt
Def create_poly(expression):
Head = None
For element in expression:
If head == None:
Head = polynomial(element[0], element[1])
Else:
Temp = head
While temp.next != None:
Temp = temp.next
If temp.next == None:
Temp.next = polynomial(element[0], element[1])
Return head
Def show_poly(head):
Temp = head
While temp.next != None:
Print(str(temp.coefficient) + ‘x^’ + str(temp.power), end = ‘ + ‘)
Temp = temp.next
If temp.next == None:
Print(str(temp.coefficient) + ‘x^’ + str(temp.power), end=’ = 0’)
Def solve(poly1, poly2):
Dummy = node = polynomial()
While poly1 and poly2:
If poly1.power > poly2.power:
Node.next = node = poly1
Poly1 = poly1.next
Elif poly1.power < poly2.power:
Node.next = node = poly2
Poly2 = poly2.next
Else:
Coef = poly1.coefficient + poly2.coefficient
If coef: node.next = node = polynomial(coef, poly1.power)
Poly1 = poly1.next
Poly2 = poly2.next
Node.next = poly1 or poly2
Return dummy.next
Poly1 = create_poly([[1,1], [1,2]])
Poly2 = create_poly([[2,1], [3, 0]])
Poly3 = solve(poly1, poly2)
Show_poly(poly3)

You might also like