java先抽到红球获胜,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
我用的c語言,大一學的還沒忘完。。。。程序非常簡單,就是生成隨機數,然后根據隨機數的結果進行計數就好了。
代碼貼下面,有興趣的可以看看。
懂行的請不要噴我寫的爛。。。。。畢竟不是專業碼農。
#include
#include
#include
int main()
{
srand((unsigned)time(NULL));
int count1=0,count2=0,count3=0,count4=0,count5=0,count0=0;
int redfirst=0,redremain=0,blueremain=0;
int i=1;
float p;
for (i=1;i<600000;i++)//隨機試驗600000次
{
int ball=rand()%6;//生成隨機數,從0到5,依次代表6個球。12為a箱紅球,34為b箱籃球,50為c箱紅藍
if (ball==1)//第一個是a箱紅球1
{
count1=count1+1;
redfirst=redfirst+1;//先抽到紅計數
redremain=redremain+1;//剩余為紅球計數
}
if(ball==2)//第一個是a箱紅球2
{
count2=count2+1;
redfirst=redfirst+1;//先抽到紅計數
redremain=redremain+1;//剩余為紅球計數
}
if (ball==3)//第一個是b箱籃球1,不計數
{
count3=count3+1;
}
if(ball==4)//第一個是b箱籃球2,不計數
{
count4=count4+1;
}
if (ball==5)//第一個是c箱紅球
{
count5=count5+1;
redfirst=redfirst+1;//先抽到紅計數
blueremain=blueremain+1;//剩余為藍球計數
}
if(ball==0)//第一個是c箱籃球,不計數
{
count0=count0+1;
}
}
p=(float)redremain/(redremain+blueremain);
printf("實驗共完成抽取%d次\n",i);
printf("每個球被抽取次數如下\n");
printf("a箱: 紅1次數=%d 紅2次數=%d\nb箱: 藍1次數=%d 藍2次數=%d\nc箱: 紅3次數=%d 藍3次數=%d\n\n",count1,count2,count3,count4,count5,count0);
printf("累計抽到紅球次數=%d\n其中\n箱中剩余一球為紅色的次數=%d\n剩余一球為藍色的次數=%d\n\n",redfirst,redremain,blueremain);
printf("隨機摸出一球是紅球,則盒子里另一個球是紅球的概率\np=%d/(%d+%d)=%d/%d=%f\n",redremain,redremain,blueremain,redremain,redfirst,p);
return (0);
}
總結
以上是生活随笔為你收集整理的java先抽到红球获胜,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言第二讲
- 下一篇: LeetCode228场周赛解题报告