Vous connaissez probablement la séquence de Fibonacci où les deux premiers termes sont 0, 1
(ou parfois 1, 1
) et chaque terme suivant est la somme des deux précédents. Cela commence comme ceci:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Parfois, la séquence contient des nombres qui ont un modèle particulier que je trouve intéressant: la différence entre n'importe quelle paire de chiffres adjacents est la même que n'importe quelle autre paire. Par exemple, dans la séquence commençant par 0, 1
, le 18e terme est 987
. 9-8=1
et 8-7=1
. Je suis légèrement satisfait.
Défi
Étant donné deux valeurs initiales F(0)
et F(1)
, sortez chaque nombre dans la séquence générée par F(n) = F(n-1) + F(n-2)
qui répond aux critères suivants:
- La différence entre n'importe quelle paire de chiffres adjacents est la même que toute autre paire
- Il comporte au moins trois chiffres (les nombres à 1 et 2 chiffres ne sont pas intéressants pour ce modèle)
Contribution
- Deux entiers non négatifs inférieurs à 10 ** 10 (10 milliards)
Production
- Tous les nombres entiers inférieurs à 10 ** 10 et répondant aux critères de la section Défi
- Il est acceptable de sortir des chiffres supérieurs à 10 ** 10 mais ce n'est pas une exigence
- Étant donné que les chiffres répétés correspondent au modèle (par exemple
777
), il est possible qu'il existe des nombres infinis qui répondent aux critères, mais votre programme n'est pas obligé de produire indéfiniment - S'il n'existe pas de tels entiers, affichez ce que vous voulez tant qu'il ne s'agit pas d'un nombre (rien, null, tableau vide, message d'erreur, visage triste, etc.)
- Si un nombre correspondant au modèle apparaît plusieurs fois dans la séquence, vous pouvez le sortir une ou autant de fois qu'il se produit
- Si une entrée répond aux critères, elle doit être incluse dans la sortie
Règles
- L'entrée et la sortie peuvent être dans n'importe quel format standard
- Les failles standard sont interdites
- C'est le code-golf donc le code le plus court en octets gagne
Exemples / cas de test
Input , Output
[1,10] , []
[0,1] , [987]
[2,1] , [123]
[2,3] , [987]
[61,86] , [147]
[75,90] , [420]
[34,74] , [1234]
[59,81] , [2468]
[84,85] , [7531]
[19,46] , [111]
[60,81] , [222]
[41,42] , [333]
[13,81] , [444]
[31,50] , [555]
[15,42] , [666]
[94,99] , [777]
[72,66] , [888]
[3189,826] , [888888888]
[15,3] , [159,258]
[22,51] , [321,1357]
[74,85] , [159,4444]
[27,31] , [147,11111]
[123,0] , [123,123,123,246,369]
[111,0] , [111,111,111,222,333,555,888]
[111,222] , [111,222,333,555,888]
[33345,692] , [987654321]
[3894621507,5981921703] , [9876543210]
[765432099,111111111] , [111111111,876543210,987654321]
[1976,123] , [123, 2222, 4321, 6543, 45678]
[1976, 123] -> [123, 2222, 4321, 6543, 45678]
,[3189, 826] -> [888888888]
,[33345, 692] -> [987654321]