概述
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我用的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次数=%dnb箱: 蓝1次数=%d 蓝2次数=%dnc箱: 红3次数=%d 蓝3次数=%dnn",count1,count2,count3,count4,count5,count0);
printf("累计抽到红球次数=%dn其中n箱中剩余一球为红色的次数=%dn剩余一球为蓝色的次数=%dnn",redfirst,redremain,blueremain);
printf("随机摸出一球是红球,则盒子里另一个球是红球的概率np=%d/(%d+%d)=%d/%d=%fn",redremain,redremain,blueremain,redremain,redfirst,p);
return (0);
}
最后
以上就是粗心棉花糖为你收集整理的C语言根据概率随机抽奖,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...的全部内容,希望文章能够帮你解决C语言根据概率随机抽奖,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复