Zainspirowany przez generowanie przyjaznych dla klawiatury numerów .
tło
Wiele klawiszy numerycznych ma następujący układ:
789
456
123
0
Definiujemy sąsiedztwo liczby jako zbiór komórek prostopadle do niego przylegających na pokazanym numpad, w tym także on sam. Na przykład sąsiedztwo 2 to, a sąsiedztwo {1,5,3,0,2}
0 to {1,2,0}
. Poniżej znajduje się lista sąsiedztwa każdego numeru, powyżej przypadków testowych.
Definiujemy przyjazną liczbę na klawiaturze numerycznej jako dodatnią liczbę całkowitą, gdzie zapisana dziesiętnie bez zer wiodących, każda cyfra oprócz pierwszej znajduje się w sąsiedztwie poprzedniej cyfry.
Na przykład,
- 7856 jest liczbą przyjazną dla klawiatury numerycznej, ponieważ 8 jest w sąsiedztwie 7, 5 jest w sąsiedztwie 8, a 6 w sąsiedztwie 5.
- 1201 jest liczbą przyjazną dla klawiatury numerycznej, ponieważ 2 jest w sąsiedztwie 1, 0 jest w sąsiedztwie 2, a 1 jest w sąsiedztwie 0.
- 82 nie jest jest liczbą przyjazną dla klawiatury numerycznej, ponieważ 2 nie znajduje się w pobliżu 8.
- 802 nie jest liczbą przyjazną dla klawiatury numerycznej, ponieważ 0 nie znajduje się w pobliżu 8 (dzielnice się nie zawijają).
Powiązana sekwencja OEIS . Zauważ, że ta powiązana sekwencja jest odrębna, ponieważ liczy się 0jako sąsiadująca z 7zamiast 1i 2.
Wyzwanie
Biorąc pod uwagę dodatnią liczbę całkowitą n
, zwróć n
-ty lub pierwszy n
przyjazny numerom numerycznym, gdzie pierwszy to 1. Możesz użyć indeksowania opartego na 0, gdzie 0-ty przyjazny numeryczny numer to 1.
Okolice
Okolice każdej cyfry są wymienione tutaj:
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}
Przypadki testowe / sekwencja
To jest pierwsze 100 warunków
[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]