BCD 차이
정수 n이 주어지면 각 10 진수를 4 자리 2 진수 표현으로 바꾸어 BCD ( 2 진 코드 10 진수 ) 로 변환하십시오.
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@#&
바이트를 저장합니다. 권리?