La sequenza di Recamán ( A005132 ) è una sequenza matematica, definita come tale:
Una spiegazione verbale alternativa e più semplice è la seguente:
Sottrai a meno che non sia possibile (il numero è negativo o è stato usato in precedenza), nel qual caso aggiungi.
I primi termini sono
Ora, c'è già questa sfida che ti chiede di generare il ntermine della sequenza. Questo è leggermente diverso.
Sfida
Dato un numero n, disegna i primi ntermini della sequenza. Cosa intendo per "disegnare"? Lasciami dimostrare:
max([A(y) for y<=n])n
______
- Inizia con la transizione tra il primo e il secondo termine: ovvero 0 e 1. Usa
|e-per disegnare un quadrato (uguale lunghezza e altezza), andando verso l'alto. In questo caso, dovremo perdere il-perché la distanza è solo 1.
||
______
||
______
| |
|-|
Come puoi vedere, questa linea ha anche un'altezza di 2, poiché l'altezza deve essere uguale alla distanza tra i due termini.
Se continuiamo, alla fine arriveremo a:
|--|
| |
|| | |
______
||| |
||| |
| |
|---|
Regole
- Se c'è un
-e si|scontrano, quello successivo ha la priorità. - Potrebbero esserci spazi precedenti / successivi prima / dopo l'immagine, ma non sono consentiti
_secondi o precedenti-(l'eccezione è 0- o 1- indicizzazione) - Puoi scegliere di impostare il punto 0 appena prima del primo
_sulla riga del numero o subito dopo. - Nessun carattere alternativi per il
-,|o_possono essere utilizzati. - Questo è code-golf , quindi vince la risposta più breve in byte.
Caso di prova
Ecco un altro caso di test, con n=10
|-------|
||-----||
|| ||
|----| || ||
| | || ||
||--|| || ||
|| || || ||
|||| || || ||
_____________________
||| || ||| ||
||| || ||| ||
| || ||| ||
|---|| ||| ||
| ||| ||
|---||| ||
||------||
|--------|
As you can see, this line also has a height of 2, since the height must be equal to the distance between the two terms., oltre a You can choose to set the 0 point just before the first _ on the number line, or just after it.concludere abbastanza bene.