Generadors de Recamán

La seqüència de Recamán amb paràmetre kk va ser descrita pel matemàtic colombià Bernardo Recamán Santos i és definada així:

an={0 si n=0,an1nk si n>0 i an1nk>0 i an1nk no ha aparagut abans,an1+n+k altrament.a_n = \begin{cases} 0 & \text{ si $n=0$,}\\ a_{n-1}-n-k & \text{ si $n>0$ i $a_{n-1}-n-k>0$ i $a_{n-1}-n-k$ no ha aparagut abans,}\\ a_{n-1}+n+k & \text{ altrament.}\\ \end{cases}

Així, els deu primers termes de la seqüència de Recamán amb k=0k=0 són [0, 1, 3, 6, 2, 7, 13, 20, 12, 21] i els deu primers termes de la seqüència de Recamán amb k=2k=2 són [0, 3, 7, 2, 8, 1, 9, 18, 28, 17].

  1. Escriviu una funció

        def recaman(k: int) -> Iterator[int]

    que, donat un natural kk, generi la seqüència de Recamán amb paràmetre kk.

  2. Escriviu una funció

        def recaman_from(k: int, n: int) -> Iterator[int]

    que, donat uns naturals kk i nn, generi la seqüència de Recamán amb paràmetre kk començant pel terme nn-èsim.

  3. Escriviu una funció

        def recaman_first_completion(k: int, x: int) -> int

    que, donat uns naturals kk i xx, retorni el primer nn tal que {a0,...,an}\{a_0,...,a_n\} conté tots els naturals fins a xx ({0,...,x}\{0,...,x\}). Assumiu que aquest valor existeix, malgrat que aquest fet no ha estat encara mai demostrat.

Observacions

Informació del problema

Autoria: Jordi Petit

Generació: 2026-01-25T11:15:09.719Z

© Jutge.org, 2006–2026.
https://jutge.org