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 cinquième défi de cette série (liens vers les premier , deuxième , troisième et quatrième défis).
Dans ce défi, nous rencontrerons le tableau Wythoff, qui est une avalanche entrelacée de séquences de Fibonacci et de séquences Beatty!
Les nombres de Fibonacci sont probablement pour la plupart d'entre vous une séquence bien connue. Étant donné deux nombres de départ et , les sont donnés par: pour .
La séquence de Beatty , étant donné un paramètre est: pour . L'une des propriétés de la séquence Beatty est que pour chaque paramètre , il y a exactement un paramètre , de sorte que les séquences Beatty pour ces paramètres sont disjointes et jointes, elles s'étendent sur tous les nombres naturels à l'exclusion 0 (par exemple: ).
Voici maintenant la partie époustouflante: vous pouvez créer un tableau, où chaque ligne est une séquence Fibonacci et chaque colonne est une séquence Beatty. Ce tableau est le tableau Wythoff . La meilleure partie est: chaque nombre positif apparaît exactement une fois dans ce tableau! Le tableau ressemble à ceci:
1 2 3 5 8 13 21 34 55 89 144 ...
4 7 11 18 29 47 76 123 199 322 521 ...
6 10 16 26 42 68 110 178 288 466 754 ...
9 15 24 39 63 102 165 267 432 699 1131 ...
12 20 32 52 84 136 220 356 576 932 1508 ...
14 23 37 60 97 157 254 411 665 1076 1741 ...
17 28 45 73 118 191 309 500 809 1309 2118 ...
19 31 50 81 131 212 343 555 898 1453 2351 ...
22 36 58 94 152 246 398 644 1042 1686 2728 ...
25 41 66 107 173 280 453 733 1186 1919 3105 ...
27 44 71 115 186 301 487 788 1275 2063 3338 ...
...
Un élément à la ligne et à la colonne est défini comme:
où est le nombre d'or: .
If we follow the anti-diagonals of this array, we get A035513, which is the target sequence for this challenge (note that this sequence is added to the OEIS by Neil Sloane himself!). Since this is a "pure sequence" challenge, the task is to output for a given as input, where is A035513.
There are different strategies you can follow to get to , which makes this challenge (in my opinion) really interesting.
Task
Étant donné une entrée entière , la sortie au format entier, où est A035513 .
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 | 7
20 | 20
50 | 136
78 | 30
123 | 3194
1234 | 8212236486
3000 | 814
9999 | 108240
29890 | 637
Il peut être amusant de savoir que le plus grand pour est
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). Notez que va jusqu'à 30 numéros de chiffres dans cette gamme ...
- 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
999
not9999