BCD разница
Получив целое число n, преобразуйте его в BCD ( двоично-десятичное десятичное число ), заменив каждую десятичную цифру ее четырехзначным двоичным представлением
234 -> 0 0 1 0 0 0 1 1 0 1 0 0
Затем поверните список двоичных цифр, чтобы найти самые большие и самые маленькие числа, представляемые этим списком без других перестановок.
max: 1 1 0 1 0 0 0 0 1 0 0 0 (the entire list rotated left 6 times)
min: 0 0 0 0 1 0 0 0 1 1 0 1 (the entire list rotated right 2 times)
Преобразуйте эти числа обратно в десятичные, рассматривая список битов как обычный двоичный файл и вычитая наименьшее из наибольшего:
1 1 0 1 0 0 0 0 1 0 0 0 -> 3336
0 0 0 0 1 0 0 0 1 1 0 1 -> 141
3336 - 141 -> 3195
Выходными данными является разница самых больших и самых маленьких найденных чисел.
Тестовые случаи:
234 -> 3195
1234 -> 52155
12 -> 135
975831 -> 14996295
4390742 -> 235954919
9752348061 -> 1002931578825
Max@#-Min@#&
сохраняет байт. право?