Podemos enrollar los números naturales en una espiral rectangular:
17--16--15--14--13
| |
18 5---4---3 12
| | | |
19 6 1---2 11
| | |
20 7---8---9--10
|
21--22--23--24--25
Pero ahora que los tenemos en una cuadrícula rectangular, podemos desenrollar la espiral en un orden diferente, por ejemplo, en sentido horario, comenzando hacia el norte:
17 16--15--14--13
| | |
18 5 4---3 12
| | | | |
19 6 1 2 11
| | | |
20 7---8---9 10
| |
21--22--23--24--25
La secuencia resultante es claramente una permutación de los números naturales:
1, 4, 3, 2, 9, 8, 7, 6, 5, 16, 15, 14, 13, 12, 11, 10, 25, 24, 23, 22, 21, 20, 19, 18, 17, ...
Su tarea es calcular esta secuencia. ( OEIS A020703 , pero advertencia de spoiler: contiene otra definición interesante y varias fórmulas que es posible que desee descubrir usted mismo).
Dato curioso: las 8 posibles órdenes de desenrollado tienen su propia entrada OEIS.
El reto
Dado un número entero positivo n
, devuelve el n
elemento th de la secuencia anterior.
Puede escribir un programa o función, tomando la entrada a través de STDIN (o la alternativa más cercana), argumento de línea de comando o argumento de función y generando el resultado a través de STDOUT (o la alternativa más cercana), el valor de retorno de la función o el parámetro de función (out).
Aplican reglas estándar de código de golf .
Casos de prueba
1 1
2 4
3 3
4 2
5 9
6 8
7 7
8 6
9 5
100 82
111 111
633 669
1000 986
5000 4942
9802 10000
10000 9802
Para obtener una lista completa hasta e incluyendo n = 11131
ver el archivo b en OEIS .