Lấy cảm hứng từ Tạo số bàn phím thân thiện .
Lý lịch
Nhiều bảng số có bố cục sau:
789
456
123
0
Chúng tôi định nghĩa vùng lân cận của một số là tập hợp các ô liền kề trực tiếp với nó trên numpad được hiển thị, bao gồm chính nó. Ví dụ: vùng lân cận của 2 là {1,5,3,0,2}
và vùng lân cận là 0 {1,2,0}
. Có một danh sách các vùng lân cận của mỗi số bên dưới, trên các trường hợp thử nghiệm.
Chúng tôi định nghĩa một số thân thiện numpad là một số nguyên dương trong đó, khi được viết bằng số thập phân mà không có số 0 đứng đầu, mỗi chữ số ngoại trừ số đầu tiên nằm trong vùng lân cận của chữ số trước đó.
Ví dụ,
- 7856 là một số thân thiện với người Numpad vì 8 ở khu phố 7, 5 ở khu phố 8 và 6 ở khu phố 5.
- 1201 là một số thân thiện với numpad vì 2 nằm trong vùng lân cận 1, 0 nằm trong vùng lân cận của 2 và 1 nằm ở vùng lân cận 0.
- 82 không phải là một số thân thiện numpad vì 2 không nằm trong khu phố 8.
- 802 không phải là số thân thiện với numpad vì 0 không nằm trong vùng lân cận 8 (các vùng lân cận không bao quanh).
Trình tự OEIS liên quan . Lưu ý rằng chuỗi liên quan này là khác biệt bởi vì nó được tính 0là liền kề 7thay vì 1và 2.
Thử thách
Cho một số nguyên dương n
, trả về số thân thiện n
thứ n hoặc số n
numpad đầu tiên , trong đó số đầu tiên là 1. Bạn có thể sử dụng lập chỉ mục dựa trên 0, trong đó số thân thiện numpad 0 sẽ là 1.
Vùng lân cận
Vùng lân cận của mỗi chữ số được liệt kê ở đây:
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}
Các trường hợp thử nghiệm / Trình tự
Đây là 100 điều khoản đầu tiên
[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]