La secuencia de Recamán ( A005132 ) es una secuencia matemática, definida como tal:
Una explicación verbal alternativa más simple es la siguiente:
Resta a menos que no puedas (el número es negativo o se ha usado antes), en cuyo caso suma.
Los primeros términos son
Ahora, ya existe este desafío que le pide que genere el ntérmino de la secuencia. Este es un poco diferente.
Desafío
Dado un número n, dibuja los primeros ntérminos de la secuencia. ¿Qué quiero decir con 'dibujar'? Déjame demostrarte:
- Dibuja un número de
max([A(y) for y<=n])unidades de línea de largo. Asumiremos quenes 5, por ahora, por lo que la recta numérica tiene 6 unidades de largo (ya que la mayor de , , , y es ). Haga la línea desde los guiones bajos, comenzando en 0:
______
- Comience con la transición entre el primer y el segundo término: es decir, 0 y 1. Use
|y-para dibujar un cuadrado (igual longitud y altura), hacia arriba. En este caso, tendremos que perdernos el-porque la distancia es solo 1.
||
______
- Ahora, dibujaremos en el siguiente paso ( a ) en la parte inferior de la línea (alternamos entre arriba y abajo cada vez):
||
______
| |
|-|
Como puede ver, esta línea también tiene una altura de 2, ya que la altura debe ser igual a la distancia entre los dos términos.
Si continuamos, eventualmente llegaremos a:
|--|
| |
|| | |
______
||| |
||| |
| |
|---|
Reglas
- Si hay una
-y|colisionando, la última tiene prioridad. - Puede haber espacios anteriores / posteriores antes / después de la imagen, pero no se permiten s /
_s anteriores / posteriores-(la excepción es 0- o 1- indexación) - Puede elegir establecer el punto 0 justo antes del primero
_en la recta numérica, o justo después. - No hay caracteres alternativos para
-,|o_pueden ser utilizados. - Este es el código de golf , por lo que la respuesta más corta en bytes gana.
Caso de prueba
Aquí hay otro caso de prueba, 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., además de You can choose to set the 0 point just before the first _ on the number line, or just after it.terminar esto bastante bien.