Você provavelmente está familiarizado com a sequência de Fibonacci, onde os dois primeiros termos são 0, 1
(ou algumas vezes 1, 1
) e todos os termos seguintes são a soma dos dois anteriores. Começa assim:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Às vezes, a sequência contém números que têm um padrão específico que eu acho interessante: a diferença entre qualquer par de dígitos adjacentes é a mesma que qualquer outro par. Por exemplo, na sequência que começa com 0, 1
, o 18º termo é 987
. 9-8=1
e 8-7=1
. Estou levemente satisfeito.
Desafio
Dados dois valores iniciais F(0)
e F(1)
, imprima todos os números na sequência gerada por F(n) = F(n-1) + F(n-2)
isso atendem aos seguintes critérios:
- A diferença entre qualquer par de dígitos adjacentes é a mesma que qualquer outro par
- Tem pelo menos três dígitos (os números de 1 e 2 dígitos não são interessantes para esse padrão)
Entrada
- Dois números inteiros não negativos menores que 10 ** 10 (10 bilhões)
Resultado
- Todos os números inteiros inferiores a 10 ** 10 e atendem aos critérios na seção Desafio
- É aceitável enviar dígitos maiores que 10 ** 10, mas não é um requisito
- Dado que dígitos repetidos atendem ao padrão (por exemplo,
777
), é possível que haja números infinitos que atendam aos critérios, mas não é necessário que seu programa seja emitido para sempre - Se não existirem números inteiros, imprima o que quiser, desde que não seja um número (nada, nulo, matriz vazia, mensagem de erro, cara triste etc.)
- Se um número correspondente ao padrão aparecer mais de uma vez na sequência, você poderá produzi-lo uma vez ou quantas vezes ocorrer
- Se alguma entrada atender aos critérios, ela deverá ser incluída na saída
Regras
- Entrada e Saída podem estar em qualquer formato padrão
- As brechas padrão são proibidas
- Isso é código-golfe, então o código mais curto em bytes vence
Exemplos / Casos de Teste
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]