Різниця BCD
З огляду на ціле число n, перетворіть його у BCD ( двійковий кодований десятковий ), замінивши кожну десяткову цифру на її 4-розрядне двійкове представлення
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@#&
зберігає байт. правильно?