Snaking Number Challenge
Me pregunto cuántos números serpientes hay entre 1 y 50,000.
Los números serpientes, en este juego, son números que se pueden escribir en un teclado numérico tradicional (formato a continuación) moviendo una tecla hacia arriba, hacia abajo, hacia la izquierda o hacia la derecha.
7 8 9
4 5 6
1 2 3
0
Por ejemplo, si comienza con el número 5, puede seleccionar 4, 6, 8 o 2 como su próximo movimiento válido; sin embargo, 7, 3, 9 y 1 están fuera de los límites, ya que se colocan en diagonal a la tecla actual . Entonces, si tiene 5, entonces 2, sus próximas opciones clave viables son 0, 1, 3 o 5 nuevamente.
En este ejercicio de Code Golf, debe generar una lista de todos los números positivos entre 1 y 50k, junto con un recuento final de todos los números que cumplen con el criterio.
Reglas
- Los números no pueden comenzar con un cero.
- Los números deben ser enteros enteros positivos.
- Cada número consecutivo, leído de izquierda a derecha, debe "serpentear" alrededor del teclado numérico.
- La serpiente no puede viajar diagonalmente a través de las teclas.
- Se puede acceder al número 0 desde los números 1 y 2
- Los números no se pueden emparejar (p. Ej .: 22)
Ejemplos de números serpientes válidos:
12369
45201
1254
10102
1
12
987
Ejemplos de números inválidos
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
Según Code Golfs normales, ¡el objetivo es la menor cantidad de bytes!
De acuerdo con mis matemáticas y reglas, debe tener 670 números válidos de serpiente en su lista, más 670 impresos como el último número.
