Натхненний створенням дружніх клавіатурних номерів .
Фон
Багато клавіатурних колодок мають такий макет:
789
456
123
0
Ми визначаємо сусідство числа як сукупність осередків, ортогонально прилеглих до нього, на показаному на цифровій клавіатурі, включаючи саму себе. Наприклад, сусідство 2 є, {1,5,3,0,2}
а 0 - сусідство {1,2,0}
. Нижче наведено список мікрорайону кожного номера, що знаходиться над тестовими.
Ми визначаємо число дружнього числа чисел як додатне ціле число, де, коли записується у десятковій формі без провідних нулів, кожна цифра, крім першої, знаходиться в сусідстві з попередньою цифрою.
Наприклад,
- 7856 - це дружнє число, оскільки 8 знаходиться в районі 7, 5 - в сусідньомуході з 8, а 6 - в районі 5.
- 1201 - це дружнє число, яке сприймає число, оскільки 2 знаходиться в районі 1, 0 - в районі 2, а 1 - в районі 0.
- 82 - це не дружнє число, оскільки 2 не знаходиться поблизу 8.
- 802 - це не дружнє число, оскільки 0 не знаходиться в районі 8 (райони не обертаються).
Пов’язана OEIS послідовність . Зауважте, що ця пов'язана послідовність є чіткою, оскільки вона вважається 0суміжною з 7замість 1і 2.
Виклик
Подавши ціле додатне ціле число n
, поверніть n
-ве або перше n
число дружніх номерів, де перше - 1. Ви можете використовувати індексацію на основі 0, де 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]