Een circulante tabel is van de gedaante

$$ \left( \begin{array}{ccccc} x_0 & x_1 & x_2 & \cdots & x_{N-1}\\ x_{N-1} & x_0 & x_1 & \cdots & x_{N-2}\\ x_{N-2} & x_{N-1} & x_0 & \cdots & x_{N-3}\\ \cdots & \cdots & \cdots & \cdots & \cdots\\ x_1 & x_2 & x_3 & \cdots & x_0 \end{array} \right) $$

Bemerk dat deze tabel volledig bepaald wordt door de lijst $$[x_0, x_1, ... , x_{N-1}]$$. Schrijf een RECURSIEVE functie circulant() met als argumenten:

Het resultaat van de functie is een lijst van lijsten, waarbij elk element een rij van de gewenste circulante tabel voorstelt. LET OP: je functie MOET recursief geprogrammeerd worden, en mag dus geen lusconstructies of comprehensies bevatten.

Voorbeeld

c = [1, 2, 3, 4]
print(circulant([], c))
#[[1, 2, 3, 4], 
# [4, 1, 2, 3], 
# [3, 4, 1, 2], 
# [2, 3, 4, 1]]