Ispirato da Genera numeri compatibili con la tastiera .
sfondo
Molti tastierino numerico hanno il seguente layout:
789
456
123
0
Definiamo il vicinato di un numero come l'insieme di celle ortogonalmente adiacenti sul tastierino numerico mostrato, incluso se stesso. Ad esempio, il quartiere 2 è {1,5,3,0,2}
e il quartiere 0 è {1,2,0}
. Di seguito è riportato un elenco dei quartieri di ciascun numero, sopra i casi di test.
Definiamo un numero amico del tastierino numerico come un numero intero positivo in cui, quando è scritto in decimali senza zero iniziale, ogni cifra tranne la prima si trova nelle vicinanze della cifra precedente.
Per esempio,
- 7856 è un numero amico del tastierino numerico perché 8 è nel quartiere di 7, 5 è nel vicinato di 8 e 6 è nel quartiere di 5.
- 1201 è un numero amico del tastierino numerico perché 2 è nel quartiere di 1, 0 è nel quartiere di 2 e 1 è nel quartiere di 0.
- 82 non è un numero amico del tastierino numerico perché 2 non è in prossimità di 8.
- 802 non è un numero adatto al tastierino numerico perché 0 non è nel vicinato di 8 (i quartieri non vanno a capo).
Sequenza OEIS correlata . Si noti che questa sequenza correlata è distinta perché conta 0come adiacente 7invece di 1e 2.
Sfida
Dato un numero intero positivo n
, restituisci il n
-th o il primo n
numero amichevole del tastierino numerico, dove il primo è 1. Puoi usare l'indicizzazione basata su 0, dove il 0 ° numero amichevole del tastierino numerico sarebbe 1.
quartieri
Il quartiere di ogni cifra è elencato qui:
0:{0,1,2}
1:{0,1,2,4}
2:{0,1,2,3,5}
3:{2,3,6}
4:{1,4,5,7}
5:{2,4,5,6,8}
6:{3,5,6,9}
7:{4,7,8}
8:{5,7,8,9}
9:{6,8,9}
Casi di prova / sequenza
Questi sono i primi 100 termini
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 20, 21, 22, 23, 25, 32, 33, 36, 41, 44, 45, 47, 52, 54, 55, 56, 58, 63, 65, 66, 69, 74, 77, 78, 85, 87, 88, 89, 96, 98, 99, 100, 101, 102, 110, 111, 112, 114, 120, 121, 122, 123, 125, 141, 144, 145, 147, 200, 201, 202, 210, 211, 212, 214, 220, 221, 222, 223, 225, 232, 233, 236, 252, 254, 255, 256, 258, 320, 321, 322, 323, 325, 332, 333, 336, 363, 365, 366, 369, 410, 411, 412, 414, 441, 444, 445, 447]