キーボードフレンドリー番号の生成に触発された。
バックグラウンド
多くの数字パッドのレイアウトは次のとおりです。
789
456
123
0
数値の近傍を、表示されているテンキー上のそれに隣接するセルのセットとして定義します。たとえば、2の近傍は{1,5,3,0,2}
0の近傍です{1,2,0}
。テストケースの上に、各番号の近傍のリストがあります。
テンキーのフレンドリ番号を正の整数として定義します。先頭にゼロを付けずに10進数で記述すると、最初の数字を除く各数字は前の数字の近くにあります。
例えば、
- 7856は8が7の近傍にあり、5は8のネイバーフッドにあり、6は5の近傍にあるため、テンキーに優しい番号です。
- 2は1の近傍にあり、0は2の近傍にあり、1は0の近傍にあるため、1201はテンキーに優しい数字です。
- 82でない 2は、8の近傍にないためテンキー優しい数。
- 802はない 0が8(近隣ラップアラウンドしていない)の近傍ではないので、テンキー優しい番号。
関連OEISシーケンス。この関連シーケンスは、およびの代わりに0隣接するものとしてカウントされるため、異なることに注意してください。712
チャレンジ
正の整数n
を指定すると、n
-thまたは最初のn
テンキーのフレンドリ番号を返します。最初のテンキーは1です。0から始まるテンキーのフレンドリ番号は1です。
近所
各桁の近傍は次のとおりです。
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}
テストケース/シーケンス
これらは最初の100用語です
[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]