Introduction (peut être ignoré)
Mettre tous les nombres 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 nombres positifs. Il s'agit du quatrième défi de cette série (liens vers les premier , deuxième et troisième défis).
Dans ce défi, nous explorerons non pas une permutation des nombres naturels, mais un monde entier de permutations!
En 2000, Clark Kimberling a posé un problème dans le 26 e numéro de Crux Mathematicorum , une revue scientifique de mathématiques publiée par la Société mathématique du Canada. Le problème était:
Est-ce que chaque entier positif se produit exactement une fois dans cette séquence?
En 2004, Mateusz Kwasnicki a fourni une preuve positive dans le même journal et en 2008, il a publié une preuve plus formelle et (par rapport à la question d'origine) plus générale. Il a formulé la séquence avec les paramètres et :
Il a prouvé que pour tout tel que est irrationnel, la séquence est une permutation des nombres naturels. Puisqu'il existe un nombre infini de valeurs et pour lesquelles cela est vrai, il s'agit véritablement d'un monde entier de permutations des nombres naturels. Nous nous en tiendrons à l'original , et pour ces paramètres, la séquence peut être trouvée comme A050000dans l'OEIS. Ses 20 premiers éléments sont:
1, 3, 9, 4, 2, 6, 18, 54, 27, 13, 39, 19, 57, 28, 14, 7, 21, 10, 5, 15
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 A050000 .
Tâche
Étant donné une entrée entière , sortie au format entier, où:
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 | 2
20 | 15
50 | 165
78 | 207
123 | 94
1234 | 3537
3000 | 2245
9999 | 4065
29890 | 149853
Règles
- L'entrée et la sortie sont des entiers (votre programme devrait au moins prendre en charge l'entrée et la sortie dans la plage de 1 à 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