改不改,这是一个问题
生活随笔
收集整理的這篇文章主要介紹了
改不改,这是一个问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概率稱號:
給你三盒。里面放的東西。您指定,然后打開了另外兩個。發現是空的,要求:你想改變你的選擇。
答案是,它應該改變網上評選,這樣的概率較大。
因此,我要求,空的情況下。選擇的盒子中有東西的概率P是多少?改變后選對的概率又是多少【當然是1-P】?
我認為用不著換,概率當然都是1/2。
我編寫了一個程序模擬這個問題。
這個程序顯示invalidcountselcount misscount各占1/3,即selcount ~ misscount,證明了我的推斷。
#include<stdlib.h> #include<time.h> #include<iostream>int?thatbox;?//有東西的盒子,值能夠為0,1,2 int?selbox;?//選中的盒子,值能夠為0,1,2 int?voidbox;?//空盒子,值能夠為0,1,2,但肯定和selbox不一樣。 int?invalidcount = 0;?//不符合條件的試驗次數。即空盒子里面有東西。 int?selcount = 0;?//選中的盒子里面有東西的次數。 int?misscount = 0;?//剩下的那個盒子里面有東西的次數。 void?change_or_not_problem() { ????????//?把東西隨機放入一個盒子 ????????thatbox = rand()%3; ????????//?選擇一個盒子 ????????selbox = rand()%3; ????????//?挑選一個盒子打開 ????????voidbox = (selbox + 1 + rand()%2)%3; ????????//?假設打開的盒子有東西。那么這次試驗無效 ????????if?(voidbox == thatbox) ????????{ ????????????????++invalidcount; ????????????????return?; ????????} ????????if?(selbox == thatbox) ????????????????++selcount; ????????else ????????????????++misscount; }
int?main () { ????????using?namespacestd; ????????srand(time(nullptr?)); ????????for?(inti=0; i<10000; ++i) ????????????????change_or_not_problem(); ????????cout <<?"selected count = "<< selcount << endl; ????????cout <<?"miss count = "<< misscount << endl; ????????cout <<?"invalid count = "<< invalidcount << endl; ????????return?0; }
版權聲明:本文博主原創文章。博客,未經同意不得轉載。
轉載于:https://www.cnblogs.com/zfyouxi/p/4822147.html
總結
以上是生活随笔為你收集整理的改不改,这是一个问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据项目实训教学解决方案
- 下一篇: 十二个经典的大数据项目