Introduction (peut être ignoré)
Mettre tous les entiers positifs dans son ordre régulier (1, 2, 3, ...) est un peu ennuyeux, n'est-ce pas? Voici donc une série de défis autour des permutations (remaniements) de tous les entiers positifs. Il s'agit du sixième défi de cette série (liens vers les premier , deuxième , troisième , quatrième et cinquième défis).
Ce défi a un thème de Pâques doux (car c'est Pâques). Je me suis inspiré de cet œuf d'oie très décoré (et à mon avis plutôt moche).
Cela m'a rappelé la spirale Ulam , où tous les entiers positifs sont placés dans une spirale anti-horaire. Cette spirale a des caractéristiques intéressantes liées aux nombres premiers, mais ce n'est pas pertinent pour ce défi.
Nous arrivons à la permutation de ce nombre entier d'entiers positifs si nous prenons les nombres dans la spirale Ulam et suivons tous les entiers dans une spirale tournant dans le sens des aiguilles d' une montre , en commençant à 1. De cette façon, nous obtenons:
1, 6, 5, 4, 3, 2, 9, 8, 7, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 25, 24, 23, etc.
Si vous dessiniez les deux spirales, vous obtiendriez une sorte de maillage infini de spirales (coquille d'oeuf) ( notez la référence New Order ici ).
Cette séquence est présente dans l'OEIS sous le numéro A090861 . Puisqu'il s'agit d'un défi de "séquence pure", la tâche consiste à sortir pour un donné en entrée, où est A090861 .
Tâche
Étant donné une entrée entière , la sortie au format entier, où est A090861 .
Remarque: l'indexation basée sur 1 est supposée ici; vous pouvez utiliser une indexation basée sur 0, donc , etc. Veuillez le mentionner dans votre réponse si vous choisissez de l'utiliser.
Cas de test
Input | Output
---------------
1 | 1
5 | 3
20 | 10
50 | 72
78 | 76
123 | 155
1234 | 1324
3000 | 2996
9999 | 9903
29890 | 29796
Règles
- L'entrée et la sortie sont des entiers.
- Votre programme doit au moins prendre en charge les entrées comprises entre 1 et 32 767).
- Une entrée non valide (0, flottants, chaînes, valeurs négatives, etc.) peut entraîner une sortie imprévue, des erreurs ou un comportement (non) défini.
- Les règles d'E / S par défaut s'appliquent.
- Les failles par défaut sont interdites.
- Il s'agit de code-golf , donc les réponses les plus courtes en octets l'emportent