Recamán

La successió de Recamán es defineix com segueix:

\[\begin{split}\begin{align*} \begin{array}{l c l} a_0 & = & 0 \\ a_n & = & \left\{ \begin{array}{l l} a_{n-1} - n & \text{si} \; a_{n-1} - n \; \text{és positiu i encara no està a la successió} \\ a_{n-1} + n & \text{altrament} \end{array} \right. \text{, per } n \gt 0 \end{array} \end{align*}\end{split}\]

Al mòdul successions (fitxer successions.py), dissenyeu la funció recursiva següent:

successions.recaman(n)

Retorna la llista dels \(n+1\) primers termes de la successió de Recamán.

Per exemple:


>>> r = recaman(0)
>>> r
[0]
>>> r = recaman(1)
>>> r
[0, 1]
>>> r = recaman(2)
>>> r
[0, 1, 3]

Disposeu de més jocs de proves al fitxer test-recaman.txt i d’una solució al fitxer successions.py.