欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

概率的問題:使用遞歸與多次試驗(yàn)?zāi)M的分析

 更新時間:2013年05月08日 15:49:55   作者:  
以下對概率的問題:使用了遞歸和多次試驗(yàn)?zāi)M。需要的朋友參考下

多次枚舉:

實(shí)例1

口袋中有5只紅球,4只白球。隨機(jī)從口袋中取出3個球,取出1個紅球2個白球的概率

復(fù)制代碼 代碼如下:

<SPAN style="FONT-SIZE: 18px"> srand( (unsigned)time( NULL ) );
 int n = 0;
 for(int i=0; i<100000; i++)
 {
  char x[] = {1, 1, 1, 1, 1, 2, 2, 2, 2};//5個紅球用5個1表示 4個白球用4個2表示
  int a = 0;  // 取到的紅球的數(shù)目
  int b = 0;  // 取到的白球的數(shù)目

  for(int j=0; j<3; j++)  //取3個球進(jìn)行3次循環(huán)
  {
   int k = rand() % (9-j);  //下標(biāo)的確定  確定范圍  9-j 是重點(diǎn)
   if(x[k]==1)
    a++;
   else
    b++;

   x[k] = x[9-j-1]; //將取出數(shù)向后移動
  }
  if(a==1 && b==2)  n++;//取出1個紅球2個白球時進(jìn)行計數(shù)
 }
 printf("概率=%f\n", n/100000.0*100);</SPAN>


實(shí)例2
復(fù)制代碼 代碼如下:

<SPAN style="FONT-SIZE: 18px">#define N 30
......
 int a[N];
 srand( time( NULL ) );
 int n = 0;
 for(int k=0; k<10000; k++)
 {
  for(int i=0; i<N; i++)
   a[i] = rand() % 365;
  bool tag = false; // 假設(shè)沒有相同
  for(i=1; i<N; i++)
  {
   for(int j=0; j<i; j++)
   {
    if(a[i]==a[j])
    {
     tag = true;
     break;
    }
   }
   if(tag) break;
  }
  if(tag) n++;
 }
 printf("%f\n", 1.0 * n / 10000 * 100);
</SPAN>

遞歸:

某個袋子中有紅球m個,白球n個?,F(xiàn)在要從中取出x個球。紅球數(shù)目多于白球的概率

下面的代碼解決了這個問題。其中的y表示紅球至少出現(xiàn)的次數(shù)。

這與前文的問題是等價的。因?yàn)槿绻?0個球,要求紅球數(shù)大于白球數(shù),則等價于至少取出16個紅球。

復(fù)制代碼 代碼如下:

<SPAN style="FONT-SIZE: 18px">/*
   m: 袋中紅球的數(shù)目
   n: 袋中白球的數(shù)目
   x: 需要取出的數(shù)目
   y: 紅球至少出現(xiàn)的次數(shù)
*/

double pro(int m, int n, int x, int y)
{
 if(y>x) return 0;
 if(y==0) return 1;  //對y沒有要求
 if(y>m) return 0;
 if(x-n>y) return 1;  //把白球全部取出,剩下就是紅球 紅球比至少取出還多,概率為1
 double p1 = pro(m-1,n,x-1,y-1) ; 
 double p2 = pro(m,n-1,x-1,y);
 return (double)m/(m+n) * p1 + (double)n/(m+n) * p2;
}</SPAN>


相關(guān)文章

  • 深度剖析C語言結(jié)構(gòu)體

    深度剖析C語言結(jié)構(gòu)體

    今天小編就為大家分享一篇關(guān)于深度剖析C語言結(jié)構(gòu)體,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C語言中變量與其內(nèi)存地址對應(yīng)的入門知識簡單講解

    C語言中變量與其內(nèi)存地址對應(yīng)的入門知識簡單講解

    這篇文章主要介紹了C語言中變量與其內(nèi)存地址對應(yīng)的入門知識簡單講解,同時這也是掌握指針部分知識的基礎(chǔ),需要的朋友可以參考下
    2015-12-12
  • C語言實(shí)現(xiàn)數(shù)獨(dú)游戲的求解

    C語言實(shí)現(xiàn)數(shù)獨(dú)游戲的求解

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)數(shù)獨(dú)游戲的求解,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Linux中使用C語言實(shí)現(xiàn)基于UDP協(xié)議的Socket通信示例

    Linux中使用C語言實(shí)現(xiàn)基于UDP協(xié)議的Socket通信示例

    這篇文章主要介紹了Linux中使用C語言實(shí)現(xiàn)基于UDP協(xié)議的socket通信示例,服務(wù)器端與客戶端的功能都非常基礎(chǔ),需要的朋友可以參考下
    2016-03-03
  • C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的完整代碼

    C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的完整代碼

    為了免去在窗口排隊(duì)買票的麻煩,飛機(jī)訂票系統(tǒng)應(yīng)運(yùn)而生,下面這篇文章主要給大家介紹了關(guān)于C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡單實(shí)例代碼

    C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡單實(shí)例代碼

    這篇文章主要介紹了 C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡單實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • C++?Boost?ProgramOptions超詳細(xì)講解

    C++?Boost?ProgramOptions超詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • C++泛型算法的一些總結(jié)

    C++泛型算法的一些總結(jié)

    以下是對C++中的泛型算法進(jìn)行了總結(jié)介紹。需要的朋友可以過來參考下
    2013-08-08
  • C++常見錯誤中英文對照表

    C++常見錯誤中英文對照表

    對于剛學(xué)編程,剛接觸C++的新手來說,編譯運(yùn)行報錯是最頭疼的一件事,爆出一堆英文,英語差一點(diǎn)的又不知道什么意思,所以也不知道如何去改,在此,我給大家傳一份常見錯誤中英文對照表及簡單解釋,希望可以幫到大家
    2016-05-05
  • MFC實(shí)現(xiàn)漂亮界面之美化按鈕

    MFC實(shí)現(xiàn)漂亮界面之美化按鈕

    這篇文章主要為大家詳細(xì)介紹了MFC實(shí)現(xiàn)漂亮界面之美化按鈕,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評論