プログラミングの為の数学と算数
■ このスレッドは過去ログ倉庫に格納されています
0618617
NGNG#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SELECT 3 // 選択肢
#define MAX 10000 // 試行回数
int win; // 選択を変えて当たった回数
void monty(void) {
int i, hit, choice, door, decide;
hit=rand()%SELECT; choice=rand()%SELECT; // 当たりと最初の選択
for (i=0; i<SELECT; i++) {
if((i!=hit) && (i!=choice)) { // 司会者が開けるのは、
door=i; break; // 当たりでも挑戦者の選択でもないドア
}
}
for (i=0; i<SELECT; i++) {
if((i!=choice) && (i!=door)) { // 挑戦者が選択を変えて選べるのは、
decide=i; break; // 最初の選択でも司会者が開けたドアでもないドア
}
}
if(decide==hit) win++;
}
void main(void) {
int i;
win=0; randomize();
for(i=0; i<MAX; i++) monty();
printf("%5d / %5d\n", win, MAX);
getch();
}
■ このスレッドは過去ログ倉庫に格納されています