Вдохновленный генерировать дружественные номера клавиатуры .
Задний план
Многие цифровые планшеты имеют следующую раскладку:
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
или первых 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]