Comme vous le savez probablement, un nombre de Fibonacci est celui qui est la somme des deux nombres précédents de la série.
Un Fibonacci Digit ™ est celui qui est la somme des deux chiffres précédents .
Par exemple, pour le début de la série 1,1, la série serait 1,1,2,3,5,8,13,4,7,11,2...La modification se produit après le 13, où, au lieu d'ajouter 8+13, vous ajoutez 1+3. La série boucle à la fin, où 4+7=11et 1+1=2, comme au début de la série.
Pour un autre exemple, la série commençant 2,2: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3.... Celui-ci commence de manière unique, mais une fois que les chiffres sont cumulés 10, vous vous retrouvez avec 1+0=1, 0+1=1, et la série continue - et boucle - de la même manière que la 1,1série.
Le défi
Étant donné une entrée entière 0≤n≤99, calculez la boucle dans la série des chiffres de Fibonacci en commençant par ces deux chiffres. (Vous êtes certainement autorisé à considérer des nombres entiers hors de cette plage, mais ce n'est pas obligatoire.) Si une entrée à un chiffre est donnée, votre code devrait l'interpréter pour indiquer le début de la série 0,n.
Tous les nombres dans la boucle qui sont à deux chiffres doivent être sortis comme deux chiffres. Ainsi, par exemple, la boucle pour 1,1contiendrait 13, non 1,3.
La sortie commence par le premier numéro de la boucle. Ainsi, sur la base des restrictions ci-dessus, la boucle pour 1,1commence par 2, puisque 1,1et 11sont comptées séparément.
Chaque numéro de sortie peut être séparé par ce que vous voulez, tant qu'il est cohérent. Dans tous mes exemples, j'utilise des virgules, mais les espaces, les sauts de ligne, les lettres aléatoires, etc. sont tous autorisés, tant que vous utilisez toujours la même séparation. Il en 2g3g5g8g13g4g7g11va de même pour une sortie légale 1, mais ce 2j3g5i8s13m4g7sk11n'est pas le cas. Vous pouvez utiliser des chaînes, des listes, des tableaux, peu importe, à condition que vous ayez les bons nombres dans le bon ordre séparés par un séparateur cohérent. Le bracketing de la sortie entière est également autorisé (ex. (5,9,14)Ou [5,9,14], etc.).
Cas de test:
1 -> 2,3,5,8,13,4,7,11
2 -> 2,3,5,8,13,4,7,11
3 -> 11,2,3,5,8,13,4,7
4 -> 3,5,8,13,4,7,11,2
5 -> 2,3,5,8,13,4,7,11
6 -> 3,5,8,13,4,7,11,2
7 -> 14,5,9
8 -> 13,4,7,11,2,3,5,8
9 -> 11,2,3,5,8,13,4,7
0 -> 0
14 -> 5,9,14
59 -> 5,9,14
C'est le code-golf , donc le plus petit nombre d'octets gagne.
14et 59donne le même résultat. Si 59est interprété comme commençant 5,9et permettant que cela fasse partie de la boucle, alors 14devrait sûrement être le début de sa boucle?
0,1,1,2,3,5,8,13,4,7,11,2,3. La première fois que la boucle se répète est à la seconde 2.
1,4,5,9,14,5et5,9,14,5,9 . Les deux répètent en commençant par le second 5. Comme je l'ai dit plus tôt, seule l'entrée est divisée; les numéros ultérieurs conservent leurs chiffres dans l'ordre.