목록재귀호출 (1)
이쁜왕자 만쉐~~
[C언어] 파티션 생성기 (partition generator)
여기서 파티션(partition)은 하드디스크 파티션이 아니라 수학의 정수론에 나오는 파티션이다. http://en.wikipedia.org/wiki/Partition_(number_theory) 파티션이란 어떤 수를 여러개의 0보다 큰 정수로 자르는 방법에 대한 내용이다. 예를 들어 4 라는 수는 4, 3+1, 2+2, 2+1+1, 1+1+1+1 이라는 5가지 방법으로 표현할 수 있다. 작은 수는 손으로 해도 되지만, 수가 커질수록 손으로 할만한 수준이 아니게 된다. 예를 들어 n = 10 일때는 겨우 42 가지밖에 안되지만, n = 100 인 경우는 1억 9천만 가지의 분할 방법(정확히는 190569292)이 존재한다. 이쯤 되면 컴퓨터의 도움 없이 뭔가를 한다는 건 불가능하다. 여하튼, 10개의 동..
프로그래밍/C프로그래밍 문제
2011. 11. 30. 21:52