Цей виклик - данина користувачеві 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