가변 비트 수는 0 이상의 비트 배열입니다. 따라서 [0, 1]
가변 개수의 비트들이지만 그렇다 []
.
음이 아닌 정수가 주어지면 모든 정수가 배열과 일대일 (이승) 매핑을 갖도록 가변 비트 수를 리턴하는 함수 또는 프로그램을 작성하십시오.
그러한 매핑에는 무한한 양이 있으며 원하는대로 자유롭게 구성 할 수 있지만 일대일 이어야합니다 . 임의로 크기가 지정된 정수의 경우 개념적 으로 일대일로 매핑해야 하지만 원하는 언어의 유형 제한 (예 : C 's ) 으로 인해 큰 정수로 구현 하지 못하면 괜찮습니다 int
.
일대일 매핑 이 아닌 것의 예로 , 정수의 이진수를 간단히 나열하는 것입니다. 이러한 시스템에서 (5)가된다 [1, 0, 1]
(또는 0b101
)하지만 있기 때문에 일대일 아니다 0b0101
또는 [0, 1, 0, 1]
도 5를 의미한다.
정수를 건너 뛰면 매핑이 일대일이 아니라는 것이 분명해야합니다 (예 : 5에서는 작동하지 않음). 변수 비트 배열을 건너 뛰는 것도 하나가 아니라는 것을 분명히하고 싶습니다. 일대일. 를 포함하여 가능한 모든 가변 비트 배열에 매핑해야합니다 []
.
바이트 단위의 최단 코드가 이깁니다.