| [ QuizWit ] in KIDS 글 쓴 이(By): limelite (멋진이혼남) 날 짜 (Date): 2001년 8월 20일 월요일 오전 05시 52분 25초 제 목(Title): Re: 저도 순열과 관계된 문제... >> 오호... cdpark님 방법... 굉장히 clear하네요. ^^ > >clear하긴 한데 저렇게 큰 수들을 곱하려면 다른 구석에서 문제를 일으키지 >않을까요? 우잉? 정말 아무 생각 없는 음해세력... ^^ 저 앞에 이렇게 적었거든요. >그냥 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개 대상의 배치를 기억할 수 있습니다. 기본적으로 컴퓨터가 쉽게 다룰 수 있는 숫자 내에서 가능한 많은 배치순서를 기억해보자는 것이 목적이었고, 컴퓨터가 좋아서 64bit 정수를 "잘" 다룰 수 있다면, 이 방법으로 20개 대상의 배치를 쉽게 기억시킬 수 있습니다. 2^64 = 18446744073709552000 20! = 2432902008176640000 21! = 51090942171709440000 그리고, 컴퓨터가 기본적으로 다룰 수 있는 정수 크기 넘어선 정수에 대해서 지금 요구되는 사칙연산 정도의 연산을 적용하는 것도 그렇게 어려운 일이 아니지요. 8bit CPU로도 16bit나 32bit 연산을 쉽게 했던 것처럼... 32bit CPU로 64bit이나 96~128bit 정수에 대한 사칙 연산 정도는 쉽게 구현할 수 있을 거란 뜻... (이 경우 구현의 복잡도가 늘어나는데, 이럴 때도 위와 같은 방법으로 배치를 기억하는 방법이 효율적이냐는 잠시 논외로 하고...) ********************************************************* * 키즈 = 하나두 안사아칸 라임의 즐거운 놀이터... ^-^ * ********************************************************* |