Sie sind wahrscheinlich mit der Fibonacci-Sequenz vertraut, bei der die ersten beiden Terme 0, 1(oder manchmal 1, 1) sind und jeder Term danach die Summe der vorherigen beiden ist. Es beginnt so:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Manchmal enthält die Sequenz Zahlen mit einem bestimmten Muster, das ich interessant finde: Der Unterschied zwischen zwei benachbarten Ziffern ist der gleiche wie bei jedem anderen Paar. Zum Beispiel ist in der Sequenz, die mit beginnt 0, 1, der 18. Term 987. 9-8=1und 8-7=1. Ich bin ein bisschen zufrieden.
Herausforderung
Bei zwei Anfangswerten F(0)und F(1)Ausgabe jeder Zahl in der Folge, die dadurch generiert wird F(n) = F(n-1) + F(n-2), erfüllen die folgenden Kriterien:
- Der Unterschied zwischen zwei benachbarten Ziffern ist der gleiche wie bei jedem anderen Paar
- Es ist mindestens dreistellig (1- und 2-stellige Zahlen sind für dieses Muster nicht interessant)
Eingang
- Zwei nicht negative ganze Zahlen unter 10 ** 10 (10 Milliarden)
Ausgabe
- Alle Ganzzahlen, die kleiner als 10 ** 10 sind und die Kriterien im Abschnitt Herausforderung erfüllen
- Es ist zulässig, Ziffern größer als 10 ** 10 auszugeben, dies ist jedoch keine Voraussetzung
- Angesichts der Tatsache, dass wiederholte Ziffern dem Muster entsprechen (z. B.
777), ist es möglich, dass es unendlich viele Zahlen gibt, die den Kriterien entsprechen, aber Ihr Programm muss nicht für immer ausgegeben werden - Wenn keine solchen Ganzzahlen vorhanden sind, geben Sie alles aus, was Sie möchten, solange es sich nicht um eine Zahl handelt (nichts, null, leeres Array, Fehlermeldung, trauriges Gesicht usw.).
- Wenn eine Zahl, die mit dem Muster übereinstimmt, in der Sequenz mehrmals vorkommt, können Sie sie einmal oder so oft ausgeben, wie sie vorkommt
- Wenn eine Eingabe die Kriterien erfüllt, sollte sie in die Ausgabe aufgenommen werden
Regeln
- Eingabe und Ausgabe können in jedem Standardformat erfolgen
- Standardlücken sind verboten
- Das ist Code-Golf, also gewinnt der kürzeste Code in Bytes
Beispiele / Testfälle
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]