Эта задача - дань уважения пользователю PPCG Деннису за победу в грабительской части Викторины по языку программирования .
Глядя на страницу профиля Денниса PPCG, мы можем увидеть довольно впечатляющие вещи:
В настоящее время у него более шестидесяти восьми тысяч репутации, что делает его вторым по репутации , превосходя третье место почти на тридцать тысяч. Недавно он выиграл наши выборы нового модератора и получил новый блестящий бриллиант рядом с его именем. Но лично я думаю, что самая интересная часть о Деннисе - это его идентификационный номер пользователя PPCG: 12012.
На первый взгляд 12012
выглядит почти как палиндром , число, которое читается одинаково при обращении, но это немного не так. Он может стать палиндромом, 21012
если мы поменяем местами первые 1
и 2
, и он может стать палиндромом, 12021
если мы поменяем местами последние 1
и 2
. Кроме того, следуя соглашению о том, что начальные нули в числе не записываются, меняются местами первые 1
и 0
результаты, 02112
а точнее 2112
- другой палиндром.
Давайте определим число Денниса как положительное целое число, которое само по себе не является палиндромным, но может быть превращено в палиндром путем замены позиций по крайней мере одной пары любых двух цифр. Порядок ряда Dennis это число различных пар цифр , которые можно поменять местами , чтобы сделать (не обязательно различные) палиндром.
Таким образом , порядок 12012
равен 3 , начиная с 3 различными парами его цифр ( 12012
, , ) может быть заменено вокруг , чтобы произвести палиндромы. случается, самый маленький номер заказа 3 Деннис.12012
12012
12012
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