| [ QuizWit ] in KIDS 글 쓴 이(By): cocoon (엔젬블) 날 짜 (Date): 1996년09월06일(금) 11시08분02초 KDT 제 목(Title): cella 님에 대한 반론 >그렇다면 출연자가 2를 > >선택한 다음, 사회자가 1을 선택하면 0에 자동차가 있다는 것을 알 수 있게 그것은 출연자가 처음에 자동차를 선택하지 않았다는 것을 알았을 때만 해당하는 얘기 아닌가요? >된다. 그러므로 프로그램은 사회자가 여는 커텐의 번호를 가능한 번호 중에서 > >무작위적으로 선택되어야 할 것이다. 그리고 실제로 그렇게 프로그램을 > >고쳐서 실행시키면, 확률은 1/2이 된다. 무작위로 서택하게 해도 역시 2/3, 1/3이 맞습니다. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int car, first, new, oper, change=0, unchange=0; unsigned int m, c; if(argc==1) { printf("Usage : car <number of try>\n"); return 1; } m = atoi(argv[1]); for(c=0 ; c<m ;c++){ first = (int)rand(100) %3; /*출연자의 처음 선택*/ car = (int)rand(100) %3; /*실제 차가들어있는방*/ for(;;) { /* 사회자의 선택 */ /* cella님의 뜻대로 가능한 범위에서 무작위 추출*/ oper=(int)rand(100)%3; if(oper!=car&&oper!=first) break; } new = 3-oper-first; /* 선택을 바꿀때의 방*/ if(car == first) unchange++; else if(car == new) change++; } printf("Changed : %d\nUnchanged : %d\n", change, unchange); } � |