Probabilmente hai familiarità con la sequenza di Fibonacci in cui i primi due termini sono 0, 1
(o talvolta 1, 1
) e ogni termine successivo è la somma dei due precedenti. Inizia così:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
A volte, la sequenza contiene numeri che hanno un modello particolare che trovo interessante: la differenza tra qualsiasi coppia di cifre adiacenti è la stessa di qualsiasi altra coppia. Ad esempio, nella sequenza che inizia con 0, 1
, il 18o termine è 987
. 9-8=1
e 8-7=1
. Sono leggermente soddisfatto.
Sfida
Dati due valori iniziali F(0)
e F(1)
, ogni numero in uscita nella sequenza generata da F(n) = F(n-1) + F(n-2)
quello soddisfa i seguenti criteri:
- La differenza tra qualsiasi coppia di cifre adiacenti è uguale a qualsiasi altra coppia
- È lungo almeno tre cifre (i numeri di 1 e 2 cifre non sono interessanti per questo modello)
Ingresso
- Due numeri interi non negativi inferiori a 10 ** 10 (10 miliardi)
Produzione
- Tutti i numeri interi che sono inferiori a 10 ** 10 e soddisfano i criteri nella sezione Sfida
- È accettabile immettere cifre maggiori di 10 ** 10 ma non è un requisito
- Dato che le cifre ripetute soddisfano il modello (ad es.
777
), È possibile che ci siano numeri infiniti che soddisfano i criteri ma il tuo programma non è tenuto a produrre per sempre - Se non esistono tali numeri interi, emetti tutto quello che vuoi purché non sia un numero (niente, null, array vuoto, messaggio di errore, faccia triste, ecc.)
- Se un numero corrispondente al modello appare più di una volta nella sequenza, è possibile emetterlo una volta o tutte le volte che si verifica
- Se un input soddisfa i criteri, deve essere incluso nell'output
Regole
- Input e Output possono essere in qualsiasi formato standard
- Sono vietate le scappatoie standard
- Questo è code-golf quindi vince il codice più breve in byte
Esempi / casi di 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]