Snaking Number Challenge
Ich frage mich, wie viele Schlangenzahlen es zwischen 1 und 50.000 gibt.
Snaking Numbers sind in diesem Spiel Zahlen, die auf einem herkömmlichen Nummernblock (Format unten) eingegeben werden können, indem eine Taste nach oben, unten, links oder rechts bewegt wird.
7 8 9
4 5 6
1 2 3
0
Wenn Sie beispielsweise mit der Zahl 5 beginnen, können Sie 4, 6, 8 oder 2 als nächsten gültigen Zug auswählen. 7, 3, 9 und 1 sind jedoch nicht zulässig, da sie diagonal zur aktuellen Taste positioniert sind . Wenn Sie also 5, dann 2 haben, sind Ihre nächsten möglichen Schlüsselwahlen wieder 0, 1, 3 oder 5.
In dieser Code-Golf-Übung geben Sie eine Liste aller positiven Snaking-Zahlen zwischen 1 und 50.000 sowie eine endgültige Zählung aller Zahlen aus, die das Kriterium erfüllen.
Regeln
- Zahlen können nicht mit einer Null beginnen.
- Zahlen müssen ganze positive ganze Zahlen sein.
- Jede fortlaufende Nummer, die von links nach rechts gelesen wird, muss sich um den Nummernblock "schlängeln".
- Die Schlange kann nicht diagonal über Tasten laufen
- Auf die Nummer 0 kann von den Nummern 1 und 2 zugegriffen werden
- Nummern können nicht gepaart werden (zB: 22)
Beispiele für gültige Snaking Numbers:
12369
45201
1254
10102
1
12
987
Beispiele für ungültige Nummern
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
Wie bei normalen Code Golfs ist das Ziel die kleinste Anzahl von Bytes!
Nach meiner Mathematik und meinen Regeln sollten Sie 670 gültige Snaking-Nummern in Ihrer Liste haben, plus 670 selbst, die als letzte Nummer gedruckt werden.
