eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Повторяющиеся десятичные

Повторяющиеся десятичные

Десятичное представление целого числа может быть преобразовано в другое целое число перестраиванием порядка цифр. Построим последовательность чисел, используя этот факт. Вам заданы неотрицательное целое число \textbf{a_0} и количество цифр \textbf{L}. Применяя следующее правило, получим \textbf{a_i_\{+1\}}из \textbf{a_i}. \begin{enumerate} \item Представим целое число \textbf{a_i} в десятичном виде с \textbf{L} цифрами. По необходимости добавим ведущие нули. Например, десятичным представлением числа \textbf{2012} с шестью цифрами будет \textbf{002012}. \item Переставляя цифры, найдем максимальное и минимальное число; Для приведенного выше примера наибольшим будет число\textbf{ 221000}, а наименьшим \textbf{000122 = 122}. \item Новое число \textbf{a_i_\{+1\}} получается в результате вычитания наименьшего числа из наибольшего. Для нашего примера мы получим \textbf{220878} как результат вычитания \textbf{122} из \textbf{221000}. \end{enumerate} Повторяя описанные вычисления, получим последовательность целых чисел \textbf{a_0}, \textbf{a_1}, \textbf{a_2}, ... . Например, начиная с числа \textbf{83268} и количеством цифр \textbf{6}, получим следующую последовательность \textbf{a_0}, \textbf{a_1}, \textbf{a_2}, ...: \textbf{a_0 = 083268a_1 = 886320 − 023688 = 862632a_2 = 866322 − 223668 = 642654a_3 = 665442 − 244566 = 420876a_4 = 876420 − 024678 = 851742a_5 = 875421 − 124578 = 750843a_6 = 875430 − 034578 = 840852a_7 = 885420 − 024588 = 860832a_8 = 886320 − 023688 = 862632 …} Поскольку количество цифр, которыми можно описать число, фиксировано, то в скором времени некоторое число повторится в последовательности \textbf{a_0}, \textbf{a_1}, \textbf{a_2}, ... . То есть всегда найдется такая пара \textbf{i} и \textbf{j}, для которой \textbf{a_i = a_j} (\textbf{i} > \textbf{j}). Для выше приведенного примера пара (\textbf{i = 8}, \textbf{j = 1}) удовлетворяет условию, так как \textbf{a_8 = a_1 = 862632}. По заданному целому числу \textbf{a_0} и количеству цифр \textbf{L} следует найти наименьшее \textbf{i}, которое удовлетворяет условию \textbf{a_i = a_j} (\textbf{i} > \textbf{j}). \InputFile Входные данные состоят из нескольких тестов. Каждый тест состоит из строки, содержащей два целых числа \textbf{a_0} и \textbf{L}, разделенных пробелом. \textbf{a_0} и \textbf{L} представляют собой соответственно начальное число последовательности и количество цифр. Известно, что \textbf{1} ≤ \textbf{L} ≤ \textbf{6} и \textbf{0} ≤ \textbf{a_0} < \textbf{10^L}. Последняя строка содержит два нуля и не обрабатывается. \OutputFile Для каждого теста следует найти наименьшее \textbf{i}, удовлетворяющее условию \textbf{a_i = a_j} (\textbf{i} > \textbf{j}) и вывести строку, содержащую три целых числа: \textbf{j}, \textbf{a_i} и \textbf{i − j}. Выводимые числа следует разделять пробелом. Ведущие нули не выводить. Известно, что искомое значение \textbf{i} не более \textbf{20}.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2012 4
83268 6
1112 4
0 1
99 2
0 0
Вихідні дані #1
3 6174 1
1 862632 7
5 6174 1
0 0 1
1 0 1
Джерело ACM ICPC Asia Regional Contest 2012 Tokyo