ความแตกต่าง 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@#&
บันทึกเป็นไบต์ ขวา?