Como probablemente sepa, un número de Fibonacci es uno que es la suma de los dos números anteriores de la serie.
Un Fibonacci Digit ™ es uno que es la suma de los dos dígitos anteriores .
Por ejemplo, para el comienzo de la serie 1,1, la serie sería 1,1,2,3,5,8,13,4,7,11,2...El cambio ocurre después de 13, donde, en lugar de agregar 8+13, agrega 1+3. La serie se repite al final, donde 4+7=11, y 1+1=2, al igual que la serie comienza.
Para dar otro ejemplo, la serie que comienza 2,2: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3.... Este comienza de manera única, pero una vez que los dígitos se suman 10, terminas 1+0=1, 0+1=1y la serie continúa, y se repite, de la misma manera que la 1,1serie.
El reto
Dada una entrada entera 0≤n≤99, calcule el bucle en la serie de dígitos de Fibonacci que comienza con esos dos dígitos. (Ciertamente se le permite considerar números enteros fuera de este rango, pero no es obligatorio). Si se le da una entrada de un dígito, su código debe interpretarlo para indicar el comienzo de la serie 0,n.
Todos los números en el bucle que son de dos dígitos se deben generar como dos dígitos. Entonces, por ejemplo, el bucle para 1,1contendría 13, no 1,3.
La salida comienza con el primer número en el bucle. Por lo tanto, en base a las restricciones anteriores, el bucle de 1,1comienza con 2, puesto 1,1y 11se cuentan por separado.
Cada número de salida puede estar separado por lo que desee, siempre que sea coherente. En todos mis ejemplos utilizo comas, pero se permiten espacios, saltos de línea, letras aleatorias, etc., siempre que use siempre la misma separación. Entonces, 2g3g5g8g13g4g7g11es una salida legal para 1, pero 2j3g5i8s13m4g7sk11no lo es. Puede usar cadenas, listas, matrices, lo que sea, siempre que tenga los números correctos en el orden correcto separados por un separador consistente. También se permite el horquillado de toda la salida (ej. (5,9,14)O [5,9,14], etc.).
Casos de prueba:
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
Este es el código de golf , por lo que gana el menor número de bytes.
14y 59doy el mismo resultado. Si 59se interpreta como inicio 5,9y lo permite como parte del ciclo, ¿entonces seguramente 14debería ser el comienzo de su ciclo?
0,1,1,2,3,5,8,13,4,7,11,2,3. La primera vez que se repite el ciclo es en la segunda 2.
1,4,5,9,14,5y 5,9,14,5,9. Ambos repiten comenzando con el segundo 5. Como dije antes, solo la entrada se divide; los números posteriores mantienen sus dígitos juntos en la secuencia.