Sfida del numero di serpenti
Mi chiedo quanti numeri serpeggianti ci siano tra 1 e 50.000?
I numeri serpeggianti, in questo gioco, sono numeri che possono essere digitati su un tastierino numerico tradizionale (formato sotto) spostando un tasto verso l'alto, il basso, a sinistra o a destra.
7 8 9
4 5 6
1 2 3
0
Ad esempio, se inizi con il numero 5, puoi selezionare 4, 6, 8 o 2 come prossima mossa valida, tuttavia 7, 3, 9 e 1 sono off-limits in quanto sono posizionati in diagonale rispetto al tasto corrente . Pertanto, se si dispone di 5, quindi 2, le scelte chiave successive successive sono nuovamente 0, 1, 3 o 5.
In questo esercizio di Code Golf, dovrai produrre un elenco di tutti i numeri di serpente positivi tra 1 e 50k, insieme a un conteggio finale di tutti i numeri che soddisfano il criterio.
Regole
- I numeri non possono iniziare con uno zero.
- I numeri devono essere numeri interi interi positivi.
- Ogni numero consecutivo, letto da sinistra a destra, deve "scorrere" attorno al tastierino numerico.
- Il serpente non può viaggiare in diagonale tra i tasti
- È possibile accedere al numero 0 da entrambi i numeri 1 e 2
- I numeri non possono essere associati (ad es. 22)
Esempi di numeri di serpenti validi:
12369
45201
1254
10102
1
12
987
Esempi di numeri non validi
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
Come da normali Code Golf, l'obiettivo è il minor numero di byte!
Secondo la mia matematica e le mie regole, dovresti avere 670 numeri di serpenti validi nella tua lista, più 670 stessi stampati come ultimo numero.
