Tome los números 0, 1, 2, 3, 4, ...y organícelos en una espiral en sentido horario, comenzando hacia abajo, escribiendo cada dígito en su propio cuadrado separado.
Luego, dado uno de los cuatro caracteres ASCII distintos y consistentes (su elección) que representan un eje y un entero de entrada n, emite los primeros ntérminos de la secuencia descrita seleccionando cuadrados a lo largo del eje correspondiente.
Por ejemplo, a continuación se muestra la espiral dispuesta hasta la mitad 29. Supongamos que usamos u / d / l / rpara nuestros cuatro personajes, que representan up / down / left / right. Luego, dado ucomo entrada, sacamos 0, 5, 1, 4 ...(el eje y positivo) hasta el ntérmino th. Si, en cambio, se nos da lcomo entrada, entonces sería 0, 3, 1, 1 ...hasta el ntercer término.
2---3---2---4---2---5---2
| |
2 1---3---1---4---1 6
| | | |
2 2 4---5---6 5 2
| | | | | |
1 1 3 0 7 1 7
| | | | | | |
2 1 2---1 8 6 2
| | | | |
0 1---0---1---9 1 8
| | |
2---9---1---8---1---7 2
Estas son secuencias en OEIS:
- http://oeis.org/A033953 para el eje x positivo
- http://oeis.org/A033988 para el eje y positivo
- http://oeis.org/A033989 para el eje x negativo
- http://oeis.org/A033990 para el eje y negativo
Ejemplos
d 19
[0, 1, 1, 8, 3, 7, 6, 2, 1, 5, 1, 1, 6, 2, 2, 1, 3, 4, 0]
r 72
[0, 7, 1, 7, 4, 2, 8, 1, 1, 3, 1, 2, 0, 2, 3, 1, 3, 4, 6, 5, 5, 5, 7, 7, 8, 8, 9, 6, 8, 1, 1, 1, 2, 3, 1, 8, 0, 6, 1, 7, 0, 9, 2, 8, 4, 3, 2, 1, 1, 7, 2, 6, 2, 1, 3, 3, 5, 5, 3, 2, 2, 0, 4, 3, 2, 5, 4, 6, 5, 0, 5, 1]
u 1
[0]
Reglas
- Si corresponde, puede suponer que la entrada / salida se ajustará al tipo entero nativo de su idioma.
- Si usa números enteros para representar los cuatro ejes, puede usar números enteros negativos sin romper las reglas.
- La entrada y la salida se pueden dar por cualquier método conveniente .
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
fuente

Respuestas:
Python 2 ,
94898483747270 bytesUsé WolframAlpha y determiné que un límite superior de 5 n > 4n 2 + 3n parece ser suficiente. Se puede cambiar a 9 n sin costo. Para probar entradas más grandes, use en
9*n*nlugar de5**nevitar quedarse sin memoria.Pruébalo en línea!
Las entradas para las direcciones son:
Guardado 14 bytes gracias a Rod
Guardado 2 bytes gracias a Jonathan Allan
fuente
MATL , 32 bytes
De entrada es
n,a, en dondearepresenta el eje de la siguiente manera:0: izquierda;1: arriba;2: derecho;3: abajo.La salida es una cadena.
Pruébalo en línea! O verificar todos los casos de prueba .
fuente
Jalea ,
1918 bytesUtiliza el truco 5 n de la respuesta de Python de mbomb007
Un enlace diádico que toma
na la izquierdady un entero de:[-3,-1,1,3]:[v,<,^,>]Pruébalo en línea!
Una alternativa de 20 bytes que es a la vez mucho más rápida y no segfault para un n tan pequeño es:
Pruébalo en línea!
¿Cómo?
fuente
funcionará durante n considerable (como +1000)
JavaScript (Node.js) , 104 bytes
Pruébalo en línea!
Explicación
Enésimo dígito de la constante de Champernowne
________________________________________________________
Método menos eficiente (no funcionará para más de 1000)
JavaScript (Node.js) , 81 bytes
Pruébalo en línea!
fuente
Stax , 13 bytes
Ejecutar y depurarlo
Toma entrada con la dirección, seguido del conteo. Derecha, arriba, izquierda, abajo y son
1,3,5, y7respectivamente. Se tarda un minuto completo en ejecutar los tres casos de prueba proporcionados.fuente