Introduzione (potrebbe essere ignorata)
Mettere tutti gli interi positivi nel suo ordine regolare (1, 2, 3, ...) è un po 'noioso, no? Quindi ecco una serie di sfide intorno alle permutazioni (rimpasto) di tutti gli interi positivi. Questa è la sesta sfida in questa serie (collegamenti al primo , secondo , terzo , quarto e quinto sfida).
Questa sfida ha un tema pasquale delicato (perché è Pasqua). Mi sono ispirato a questo uovo d'oca altamente decorato (e secondo la mia opinione piuttosto brutto).

Mi ha ricordato la spirale di Ulam , dove tutti gli interi positivi sono posti in una spirale in senso antiorario. Questa spirale ha alcune caratteristiche interessanti legate ai numeri primi, ma non è rilevante per questa sfida.
Arriviamo a questa permutazione di numeri interi positivi se prendiamo i numeri nella spirale di Ulam e tracciamo tutti i numeri interi in una spirale che gira in senso orario , iniziando da 1. In questo modo, otteniamo:
1, 6, 5, 4, 3, 2, 9, 8, 7, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 25, 24, 23, etc.
Se disegnassi entrambe le spirali, otterresti una sorta di maglia infinita di spirali (guscio d'uovo) ( nota qui il riferimento al Nuovo Ordine ).
Questa sequenza è presente nell'OEIS con il numero A090861 . Poiché si tratta di una sfida "sequenza pura", il compito è quello di produrre per un dato come input, dove è A090861 .
Compito
Dato un input intero , output in formato intero, dove è A090861 .
Nota: qui si assume l'indicizzazione basata su 1; puoi utilizzare l'indicizzazione basata su 0, quindi , ecc. Indicare questo nella risposta se si sceglie di utilizzarlo.
Casi test
Input | Output
---------------
1 | 1
5 | 3
20 | 10
50 | 72
78 | 76
123 | 155
1234 | 1324
3000 | 2996
9999 | 9903
29890 | 29796
Regole
- Input e output sono numeri interi.
- Il tuo programma dovrebbe almeno supportare input nell'intervallo da 1 a 32767).
- Input non validi (0, float, stringhe, valori negativi, ecc.) Possono causare output non previsti, errori o comportamenti (non) definiti.
- Si applicano le regole I / O predefinite .
- Sono vietate le scappatoie predefinite .
- Questo è code-golf , quindi vince la risposta più breve in byte
