총 시도수 : 100 처음에 검은공 뽑음 : 23 처음 흰공-> 두번째 검은공: 24 처음 흰공-> 두번째 흰공 : 53 소스임메.. /* * 취미프로그래밍 by artwork21c * * 자루 속에 공이 하나 들어 있다. * 이 공은 흰색일 수도 있고 검은 색일 수도 있다. 확률은 반반. * 이 자루에 흰 공을 하나 집어넣고 흔든 다음 공을 하나 꺼냈더니 흰 공이 나왔다. * 이제 자루에 든 공이 흰색일 확률은? * (처음공이 검은색인 경우는 제외한다고 한다.. by utena) */ // 통계용 값 초기화 $stat_b = 0; // 처음에 검은공 뽑음 $stat_wb = 0; // 처음 흰공-> 두번째 검은공 $stat_ww = 0; // 처음 흰공-> 두번째 흰공 //시도할 횟수만큼 반복해서 통계값에 추가한다. for($i=0;$i<100;$i++){ // 백에 첫번째 공을 랜덤으로 삽입. 0=black, 1=white $bag[0] = mt_rand(0,1); // 백에 두번째 공을 삽입. 흰공. $bag[1] = 1; // 백의 두 공을 하나씩 뽑는다. $pick[0] = mt_rand(0,1); // 첫번째 뽑기 $pick[0]==0?$pick[1]=1:$pick[1]=0; // 공이 두개이므로 두번째 뽑기는 첫번째 뽑기의 반대공이 됨. if($bag[$pick[0]]==0){ //처음 뽑은 공이 black 인 경우 $stat_b+=1; }else{ //처음 뽑은 공이 white 인 경우 //두번째 뽑은 공의 색깔에 따라 통계값 추가 if($bag[$pick[1]]==0){ $stat_wb+=1; }else{ $stat_ww+=1; } } } // 결과값 리턴 echo "총 시도수 : $i \n"; echo "처음에 검은공 뽑음 : $stat_b \n"; echo "처음 흰공-> 두번째 검은공: $stat_wb \n"; echo "처음 흰공-> 두번째 흰공 : $stat_ww \n";