Эта задача - дань уважения пользователю PPCG Деннису за победу в грабительской части Викторины по языку программирования .
Глядя на страницу профиля Денниса PPCG, мы можем увидеть довольно впечатляющие вещи:
В настоящее время у него более шестидесяти восьми тысяч репутации, что делает его вторым по репутации , превосходя третье место почти на тридцать тысяч. Недавно он выиграл наши выборы нового модератора и получил новый блестящий бриллиант рядом с его именем. Но лично я думаю, что самая интересная часть о Деннисе - это его идентификационный номер пользователя PPCG: 12012.
На первый взгляд 12012выглядит почти как палиндром , число, которое читается одинаково при обращении, но это немного не так. Он может стать палиндромом, 21012если мы поменяем местами первые 1и 2, и он может стать палиндромом, 12021если мы поменяем местами последние 1и 2. Кроме того, следуя соглашению о том, что начальные нули в числе не записываются, меняются местами первые 1и 0результаты, 02112а точнее 2112- другой палиндром.
Давайте определим число Денниса как положительное целое число, которое само по себе не является палиндромным, но может быть превращено в палиндром путем замены позиций по крайней мере одной пары любых двух цифр. Порядок ряда Dennis это число различных пар цифр , которые можно поменять местами , чтобы сделать (не обязательно различные) палиндром.
Таким образом , порядок 12012равен 3 , начиная с 3 различными парами его цифр ( 12012, , ) может быть заменено вокруг , чтобы произвести палиндромы. случается, самый маленький номер заказа 3 Деннис.120121201212012
10это наименьшее число Денниса и имеет порядок 1, потому что переключение вокруг 1и 0дает 01ака, 1который является палиндромом.
Мнимые ведущие нули числа не считаются переключаемыми цифрами. Например, изменение 8908в 08908и поменять местами первые две цифры , чтобы получить палиндром 80908недействителен. 8908это не номер Денниса.
Можно сказать, что номера не-Денниса имеют порядок 0.
Вызов
Напишите программу или функцию, которая принимает положительное целое число N и печатает или возвращает N-е наименьшее число Денниса вместе со своим порядком в некотором приемлемом формате, таком как 12012 3или (12012, 3).
Например, 12012это 774-й номер Денниса, поэтому, если 774это входные данные для вашей программы, выходные данные должны быть примерно такими 12012 3. (Любопытно, что 774 - еще один номер Денниса.)
Самый короткий код в байтах побеждает.
Вот первые 20 номеров Денниса и их заказы для справки:
N Dennis Order
1 10 1
2 20 1
3 30 1
4 40 1
5 50 1
6 60 1
7 70 1
8 80 1
9 90 1
10 100 1
11 110 2
12 112 1
13 113 1
14 114 1
15 115 1
16 116 1
17 117 1
18 118 1
19 119 1
20 122 1
