Mirá este fragmento de código:

Leer(a)
n ← a * a
c ← 0

MIENTRAS (a > 1) HACER
    a ← a / 2
    PARA i = 1 HASTA n HACER
        c ← c * 2
    FIN PARA
FIN MIENTRAS

¿Cuál es la complejidad de este código? ¿Por qué?