# positius_1: solució recursiva lineal

def positius_1(llista):
    if len(llista) == 0:
        return []
    else:
        lnova = positius_1(llista[:-1])
        if llista[-1] < 0:
            lnova.append(-llista[-1])
        else:
            lnova.append(llista[-1])
        return lnova


# positius_2: solució recursiva final amb immersió (sense range)

def positius_2_1(llista):
    positius_rec_aux(llista, 0)
    
def positius_rec_aux(llista, i):
    if i >= len(llista):
        pass
    else:
        if llista[i] < 0:
            llista[i] = -llista[i]
        positius_rec_aux(llista, i+1)

# positius_2: solució recursiva final amb immersió (amb range)

def positius_2_2(llista):
    positius_2_2_i(llista, range(len(llista)))
    
def positius_2_2_i(llista, llesca):
    if len(llesca) == 0:
        pass
    else:
        if llista[llesca[0]] < 0:
            llista[llesca[0]] = -llista[llesca[0]]
        positius_2_2_i(llista, llesca[1:])

# positius_2: tria

positius_2 = positius_2_2
