|
Menu |
|
Задача Преобразование Капрекара
| Файл входного файла: | kaprekar.in |
|---|---|
| Файл выходного файла: | kaprekar.out |
| Ограничение по памяти: | 64 MB |
| Ограничение по времени: | 2 s |
Описание
Индийский математик Д. Р. Капрекар известен своими работами по теории чисел. Одна из его работ посвящена так называемому преобразованию Капрекара. Рассмотрим следующую операцию. Пусть задано число x. Пусть M — наибольшее число, которое можно получить из x перестановкой его цифр, а m — наименьшее число (это число может содержать ведущие нули). Обозначим как K(x) разность M − m, дополненную при необходимости ведущими нулями так, чтобы чис ло цифр в ней было равно числу цифр в x. Например, K(100) = 100 − 001 = 099, K(2414) = 4421 − 1244 = 3177. Капрекар доказал, что если начать с некоторого четырехзначного числа x, в котором не все цифры равны между собой, и последовательно применять к нему эту операцию (вычислять K(x), K(K(x)), . . . ), то рано или поздно получится число 6174. Для него верно равенство K(6174) = 7641 − 1467 = 6174, поэтому на нем процесс зациклится. Ваша задача состоит в том, чтобы написать программу, вычисляющую K(x) по числу x.
Формат входных данных
Входной файл содержит целое число без ведущих нулей x (1 ≤ x ≤ 10 9 ).
Формат выходных данных
В выходной файл выведите K(x).
Примеры:
| ввод | вывод |
|---|---|
|
100 |
099 |
|
|
|
|
2414 |
3177 |
|
|
|
Powered by django, eJudge.
Обсуждение:
Начать обсуждение: