QuizWit

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ QuizWit ] in KIDS
글 쓴 이(By): reality (얄이)
날 짜 (Date): 1998년 6월 29일 월요일 오전 08시 59분 57초
제 목(Title): Re: re]reality


아 문제가 의외로 쉽다고 생각해서
컴퓨터 앞에서 그냥 풀었는 데...
제가 미처 생각하지 못한 점이 있었군요...

thief 님께서 말씀하신 것처럼
k값만큼의 차를 같는 정수의 쌍을
우선 구해야합니다.
-> 여기서, 저는 단순히 m차이가 나면 된다고 그냥
생각하고 넘어갔지요...

풀이의 틀린 점은 그 점에 있다고 생각되므로
그 부분만 수정하도록 하지요...

총 2m개의 자연수를 2개씩 차가 k가 되도록 묶는 가짓수가
고려되어야 하지요...
여기서, 하나의 자연수가 결정되면, 그것과 차를 k로 가지는
정수는 두가지가 될 수 있습니다.

그러나, 1부터 2m까지이므로, 중간에서 아무렇게나 나누다
보면 양쪽 끝부분(1 , 2m) 쪽에서 제대로 나누어지지 않을 수도
있게 되지요...
예를 들면, m=9, k=3일 때, (5,8)을 묶으면 2는 아무것과도
쌍을 이룰 수 없습니다.

따라서, 앞에서부터(1부터) 묶기 시작하면 2m개의 정수는
처음부터 순서대로 2k개씩이 묶여 나가게 됩니다.

물론, 끝까지 정확하게 묶을 수 있어야하므로 2k은 2m의 약수가
되어야하고, k는 m의 약수가 되어야 합니다.
그리고, 그 각각은 한가지 방법으로 묶이게 됩니다.

따라서, 약수의 가짓수가 더 필요하므로, 약수의 갯수를
편의상 f(m) 이라고 하면,
f(m) * (m-1)! 이 되겠지요.

문제는 m= 999 = 3^2 * 111 = 3^3 * 37이므로
(1+3) * (1+1) = 8 이 되므로,

8 * 998! 이 되겠지요...
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.