改不改,这是一个问题

概率称号:

给你三盒。里面放的东西。您指定,然后打开了另外两个。发现是空的,要求:你想改变你的选择。


答案是,它应该改变网上评选,这样的概率较大。

因此,我要求,空的情况下。选择的盒子中有东西的概率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 namespace std;
        srand(time( nullptr ));
         for (int i=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;
}

版权声明:本文博主原创文章。博客,未经同意不得转载。

posted @ 2015-09-19 20:15  zfyouxi  阅读(152)  评论(0编辑  收藏  举报