La séquence de Recamán ( A005132 ) est une séquence mathématique, définie comme telle:
Une explication verbale alternative et plus simple est la suivante:
Soustrayez sauf si vous ne pouvez pas (le nombre est négatif ou a déjà été utilisé), auquel cas ajoutez.
Les premiers termes sont
Maintenant, il y a déjà ce défi qui vous demande de générer le n
e terme de la séquence. Celui-ci est légèrement différent.
Défi
Étant donné un nombre n
, tracez les premiers n
termes de la séquence. Qu'est-ce que j'entends par «dessiner»? Permettez-moi de démontrer:
- Tracez un nombre de lignes de
max([A(y) for y<=n])
long. Nous supposeronsn
5, pour l'instant, donc la droite numérique est longue de 6 unités (puisque le plus grand de , , , et est ). Faites la ligne à partir des traits de soulignement, en commençant à 0:
______
- Commencez par la transition entre le premier et le deuxième termes: c'est-à-dire 0 et 1. Utilisez
|
et-
pour dessiner un carré (longueur et hauteur égales), en remontant. Dans ce cas, nous devrons manquer le-
car la distance n'est que de 1.
||
______
- Maintenant, nous allons dessiner sur l'étape suivante ( à ) en bas de la ligne (nous alternons à chaque fois de haut en bas):
||
______
| |
|-|
Comme vous pouvez le voir, cette ligne a également une hauteur de 2, car la hauteur doit être égale à la distance entre les deux termes.
Si nous continuons, nous finirons par arriver à:
|--|
| |
|| | |
______
||| |
||| |
| |
|---|
Règles
- S'il y a un
-
et|
entrer en collision, l'une est prioritaire plus tard. - Il peut y avoir des espaces avant / après l'image, mais les
_
s ou-
s avant / arrière ne sont pas autorisés (l'exception est 0 ou 1 indexation) - Vous pouvez choisir de définir le point 0 juste avant le premier
_
sur la droite numérique ou juste après. - Aucun caractère de remplacement pour
-
,|
ou_
peuvent être utilisés. - C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Cas de test
Voici un autre cas de test, avec 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.
, ainsi que de You can choose to set the 0 point just before the first _ on the number line, or just after it.
conclure assez bien.