Possiamo arrotolare i numeri naturali in una spirale rettangolare:
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
Ma ora che li abbiamo su una griglia rettangolare, possiamo svolgere la spirale in un ordine diverso, ad esempio andando in senso orario, iniziando da nord:
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 sequenza risultante è chiaramente una permutazione dei numeri naturali:
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, ...
Il tuo compito è calcolare questa sequenza. ( OEIS A020703 , ma avvertimento spoiler: contiene un'altra definizione interessante e diverse formule che potresti voler capire da solo.)
Curiosità: tutti e 8 i possibili ordini di svolgimento hanno il proprio ingresso OEIS.
La sfida
Dato un numero intero positivo n
, restituisce l' n
elemento th della sequenza sopra.
È possibile scrivere un programma o una funzione, prendendo l'input tramite STDIN (o l'alternativa più vicina), l'argomento della riga di comando o l'argomento della funzione e producendo il risultato tramite STDOUT (o l'alternativa più vicina), il valore di ritorno della funzione o il parametro della funzione (out).
Si applicano le regole standard del code-golf .
Casi test
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
Per un elenco completo fino al e incluso, n = 11131
vedere il file b su OEIS .