
import polinomis

def eleva_pol(p, n):
    if n == 0:  # Cas base. Retornem el polinomi p(x) = 1
        r = polinomis.Polinomi()
        r[0] = 1
    else: # Casos recursius (unificats en un de sol)
        h = eleva_pol(p, n // 2)
        r = h * h
        if n % 2 == 1:  # Si n és senar cal multiplicar per p(x)
            r =  p * r
    return r
