QuizWit

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ QuizWit ] in KIDS
글 쓴 이(By): oldtree (하늘빛)
날 짜 (Date): 1995년09월13일(수) 11시57분38초 KDT
제 목(Title): [Re][Ans]구슬 나누기


앞에서 guest님이 답해주신 답 5^5+4=3129는 5로 나누었을 때

1이 남지 않았기 때문에 답이 되지 못합니다.

제가 문제를 명확하게 쓰지 못해서 그런건가요..?

예를 들어 21은 5*4+1로 나타내어질 수 있으므로, 하나를 버리고 한 

사람이 4를 택하면 16이 남습니다. 그리고 16=5*3+1이므로 역시

하나를 버리고 한 사람(여기서는 B)가 3을 택하면 12가 남죠...

그러니까 두번까지 밖에 진행이 되지 않습니다...

왜냐하면 12는 5*x+1꼴로 표시가 되지 않기 때문입니다.

위의 구슬 나누기의 정답은 15621입니다...

정답을 내기 위한 프로그램은 다음과 같습니다.. 단순 무식한 알고리즘..

----

#include <stdio.h>

main()
{
    int i=0;
    int temp;

    for (int k =1 ; k< 20; k++) {
        while (1) {
            temp = ++i;
            for (int j=0; j < k; j++) {
                if ( (temp-1)%5 != 0 ) break;
                temp = (temp-1)/5 * 4;
            }
            if ( j == k ) break;
        }
        printf("in %2d : num = %d\n", k-1, i);
    }
}

------------

정수론 쪽에서 어떤 풀이 방법이 있을 것 같은데.. 

아시는 분 있으면 포스팅 해 주세요..

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.