zoukankan      html  css  js  c++  java
  • 改不改,这是一个问题

    概率称号:

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


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

    因此,我要求,空的情况下。选择的盒子中有东西的概率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;
    }

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

  • 相关阅读:
    统计字符
    两军交锋
    FatMouse' Trade
    A + B Problem II
    Number Sequence
    Max Sum
    类的设计
    类与对象
    面向对象思想
    第一个OC程序
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4822147.html
Copyright © 2011-2022 走看看