Diferencia BCD
Dado un número entero n, conviértalo a BCD ( decimal codificado en binario ) reemplazando cada dígito decimal con su representación binaria de 4 dígitos
234 -> 0 0 1 0 0 0 1 1 0 1 0 0
Luego gire la lista de dígitos binarios para encontrar los números más grandes y más pequeños, representables por esta lista sin otras reorganizaciones.
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)
Convierta estos números de nuevo a decimal, tratando la lista de bits como binario regular y reste el más pequeño del más grande:
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
La salida es la diferencia de los números más grandes y más pequeños encontrados.
Casos de prueba:
234 -> 3195
1234 -> 52155
12 -> 135
975831 -> 14996295
4390742 -> 235954919
9752348061 -> 1002931578825
Max@#-Min@#&
Guarda un byte. ¿Derecha?