スネークナンバーチャレンジ
1〜50,000のスネークナンバーがいくつあるのだろうか。
このゲームのスネーキング番号は、1つのキーを上下左右に動かすことにより、従来の番号パッド(下の形式)で入力できる番号です。
7 8 9
4 5 6
1 2 3
0
たとえば、5番から始める場合、次の有効な移動として4、6、8、または2を選択できますが、7、3、9、および1は現在のキーに対して斜めに配置されるため、立ち入り禁止です。したがって、5、2の場合、次に実行可能なキーの選択肢は0、1、3、または5です。
このコードゴルフの演習では、1〜50kの正のスネーキング数のリストと、基準を満たすすべての数の最終カウントを出力します。
ルール
- 数字をゼロから始めることはできません。
- 数値は正の整数でなければなりません。
- 左から右に読むそれぞれの連続した数字は、数字パッドの周りに「蛇」しなければなりません。
- ヘビはキーを斜めに移動できません
- 番号0は、番号1と2の両方からアクセスできます。
- 番号をペアにすることはできません(例:22)
有効なスネーキング番号の例:
12369
45201
1254
10102
1
12
987
無効な番号の例
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
通常のコードゴルフによると、目標は最小バイトです!
私の数学とルールによれば、リストには670個の有効なスネーキング番号があり、さらに最後の番号として670自体が印刷されているはずです。