키보드 친화적 인 숫자 생성에서 영감을 얻었습니다 .
배경
많은 숫자 패드의 레이아웃은 다음과 같습니다.
789
456
123
0
우리는 숫자의 이웃을 자신을 포함하여 표시된 숫자 키패드에서 직교 적으로 인접한 셀 세트로 정의합니다. 예를 들어, 2의 이웃은 {1,5,3,0,2}
이고 0의 이웃은 {1,2,0}
입니다. 아래에는 테스트 사례 위에 각 숫자의 이웃 목록이 있습니다.
우리는 숫자 친숙한 숫자 를 양의 정수로 정의하며 , 앞에 0이없는 10 진수로 쓰여질 때 첫 번째 숫자를 제외한 각 숫자는 이전 숫자 근처에 있습니다.
예를 들어
- 7856은 숫자가 친숙한 숫자입니다. 8은 7, 7의 근처에 있고 5는 8의 이웃, 6은 5의 이웃입니다.
- 2는 1 근처에 있고, 0은 2 근처에 있고, 1은 0에 있기 때문에 1201은 숫자 친숙한 숫자입니다.
- 82는 아닙니다 (2) (8)의 근처에없는 때문에 숫자 패드 친화적 인 수.
- (802)은 하지 0 8 (지역 주위에 포장하지 않음)의 근처에없는 때문에 숫자 패드 친화적 인 수.
관련 OEIS 시퀀스 . 이 관련 시퀀스는 및 대신에 0인접한 것으로 계산되므로 고유합니다 .712
도전
양의 정수가 주어지면 첫 번째 숫자 는 1 인 첫 번째 숫자 키패드 친숙한 숫자를 n
반환합니다 n
. 첫 번째 n
숫자는 1이되는 0 기반 인덱싱을 사용할 수 있습니다.
이웃
각 숫자의 이웃은 다음과 같습니다.
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]