Wie Sie wahrscheinlich wissen, ist eine Fibonacci-Zahl eine Zahl, die die Summe der beiden vorherigen Zahlen in der Reihe ist.
Eine Fibonacci-Ziffer ist eine, die die Summe der beiden vorherigen Ziffern ist .
Zum Beispiel wäre für den Serienanfang 1,1die Serie 1,1,2,3,5,8,13,4,7,11,2...Die Änderung erfolgt nach dem 13, wo Sie anstelle des Hinzufügens 8+13hinzufügen 1+3. Die Serie wird am Ende wiederholt, wo 4+7=11und 1+1=2wie die Serie beginnt.
Für ein anderes Beispiel beginnt die Serie 2,2: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3.... Dieser beginnt einmalig, aber sobald die Ziffern zusammengezählt sind 10, haben Sie das Ergebnis 1+0=1, 0+1=1, und die Serie wird fortgesetzt - und wiederholt sich - auf dieselbe Weise wie die 1,1Serie.
Die Herausforderung
0≤n≤99Berechnen Sie bei einer Ganzzahleingabe die Schleife in der Fibonacci-Ziffernreihe, die mit diesen beiden Ziffern beginnt. ( Ganzzahlen außerhalb dieses Bereichs dürfen natürlich berücksichtigt werden, sind jedoch nicht erforderlich.) Bei einer einstelligen Eingabe sollte der Code diese interpretieren, um den Beginn der Reihe zu kennzeichnen 0,n.
Alle zweistelligen Zahlen in der Schleife müssen zweistellig ausgegeben werden. So zum Beispiel für die Schleife 1,1enthalten würde 13, nicht 1,3.
Die Ausgabe beginnt mit der ersten Nummer in der Schleife. Basierend auf den obigen Einschränkungen 1,1beginnt die Schleife für also mit 2, da 1,1und 11wird separat gezählt.
Jede Nummer der Ausgabe kann nach Belieben getrennt werden, solange sie konsistent ist. In allen meinen Beispielen verwende ich Kommas, aber Leerzeichen, Zeilenumbrüche, Zufallsbuchstaben usw. sind zulässig, solange Sie immer die gleiche Trennung verwenden. Ist 2g3g5g8g13g4g7g11also eine legale Ausgabe für 1, ist es aber 2j3g5i8s13m4g7sk11nicht. Sie können beliebige Zeichenfolgen, Listen und Arrays verwenden, vorausgesetzt, Sie haben die richtigen Zahlen in der richtigen Reihenfolge, die durch ein konsistentes Trennzeichen voneinander getrennt sind. Die Belichtungsreihe für die gesamte Ausgabe ist ebenfalls zulässig (z. B. (5,9,14)oder [5,9,14]usw.).
Testfälle:
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
Das ist Code-Golf , also gewinnt die niedrigste Anzahl von Bytes.
14und 59gebe das gleiche Ergebnis. Wenn dies 59so interpretiert wird 5,9, dass es als Teil der Schleife startet und dies zulässt, 14sollte dies sicher der Anfang der Schleife sein?
0,1,1,2,3,5,8,13,4,7,11,2,3. Das erste Mal, dass die Schleife wiederholt wird, erfolgt beim zweiten Mal 2.
1,4,5,9,14,5und 5,9,14,5,9. Beide wiederholen sich beginnend mit der Sekunde 5. Wie ich bereits sagte, wird nur die Eingabe aufgeteilt. Spätere Nummern behalten ihre Ziffern in der Reihenfolge bei.