| [ QuizWit ] in KIDS 글 쓴 이(By): cdpark (박종대) 날 짜 (Date): 2001년 8월 20일 월요일 오전 08시 23분 31초 제 목(Title): Re: 저도 순열과 관계된 문제... >그냥 encoding하면 대상의 갯수가 9개면 32비트 숫자에 >저장할 수 없지요. (9*4bit=36bit. 참고로 8개면 8*3bit >=24bit) 하지만, 사실 32비트 숫자는 2^32=4,294,967,296 >의 경우 수를 나타낼 수 있고, 12!=479,001,600(참고로 >13!=6,227,020,800)임을 생각할 때, 32비트 숫자는 >최대로 12개 대상의 배치를 기억할 수 있습니다. 제 중간 encoding을 그닝 2진수로 바꿔서 죽 붙이는 방법도 있습니다. (1은 0bits, ... 12는 4 bits..) 12개의 숫자의 범위가 다르므로 각각을 최소 bit로 이진 encoding하면.. 33비트가 필요합니다. (뭐 1 비트 오버이긴 하지만요. ^^) 11개면 29 bit니깐 충분하군요. 꼭 32 bit에 넣겠다면 5와 6을 각각 3bit로 encoding하지 말고 그 두 숫자의 곱(30)을 5bit에 구겨넣으면 되겠죠. 20개의 숫자도 69bits. 좀 많이 모자라네요. 18개까지는 충분히 쓸 수 있습니다. -- 박.. |