Différence BCD
Étant donné un entier n, convertissez-le en BCD ( décimal codé binaire ) en remplaçant chaque chiffre décimal par sa représentation binaire à 4 chiffres
234 -> 0 0 1 0 0 0 1 1 0 1 0 0
Faites ensuite pivoter la liste des chiffres binaires afin de trouver les plus grands et les plus petits nombres, représentables par cette liste sans autres réarrangements.
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)
Convertissez ces nombres en décimal, en traitant la liste de bits comme un binaire normal et soustrayez le plus petit du plus grand:
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 sortie est la différence entre le plus grand et le plus petit nombre trouvé.
Cas de test:
234 -> 3195
1234 -> 52155
12 -> 135
975831 -> 14996295
4390742 -> 235954919
9752348061 -> 1002931578825
Max@#-Min@#&
enregistre un octet. droite?