Inspiriert von Generate Keyboard Friendly Numbers .
Hintergrund
Viele Nummernblöcke haben das folgende Layout:
789
456
123
0
Wir definieren die Nachbarschaft einer Zahl als die Menge von Zellen, die orthogonal dazu auf dem gezeigten Nummernblock benachbart sind, einschließlich sich selbst. Zum Beispiel ist die Nachbarschaft von 2{1,5,3,0,2}
0 {1,2,0}
. Unterhalb der Testfälle befindet sich eine Liste der Nachbarschaften der einzelnen Nummern.
Wir definieren a Numpad-freundliche Zahl als eine positive Ganzzahl, bei der sich jede Ziffer mit Ausnahme der ersten in der Nachbarschaft der vorherigen Ziffer befindet, wenn sie dezimal ohne führende Nullen geschrieben wird.
Beispielsweise,
- 7856 ist eine Numpad-freundliche Zahl, weil 8 in der Nachbarschaft von 7 ist, 5 in der Nachbarschaft von 8 ist und 6 in der Nachbarschaft von 5 ist.
- 1201 ist eine Numpad-freundliche Zahl, weil 2 in der Nachbarschaft von 1 ist, 0 in der Nachbarschaft von 2 ist und 1 in der Nachbarschaft von 0 ist.
- 82 ist nicht Numpad-freundliche Zahl, da 2 nicht in der Nähe von 8 liegt.
- 802 ist keine Numpad-freundliche Zahl, da 0 nicht in der Nähe von 8 liegt (Nachbarschaften werden nicht umbrochen).
Verwandte OEIS-Sequenz . Beachten Sie, dass diese verwandte Sequenz verschieden ist , weil es zählt 0als neben 7statt 1und 2.
Herausforderung
Bei einer positiven Ganzzahl n
geben Sie die n
-te oder die ersten n
Anzeigenummern zurück, wobei die erste 1 ist. Sie können eine 0-basierte Indizierung verwenden, wobei die 0-te Anzeigenummer 1 ist.
Nachbarschaften
Die Nachbarschaft der einzelnen Ziffern ist hier aufgelistet:
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}
Testfälle / Sequenz
Dies sind die ersten 100 Begriffe
[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]