博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝桥杯 C/C++参考题目 取球概率(数学题,概率)
阅读量:7241 次
发布时间:2019-06-29

本文共 1700 字,大约阅读时间需要 5 分钟。

口袋中有5只红球,4只白球。随机从口袋中取出3个球,则取出1个红球2个白球的概率是多大?类似这样的数学问题,在计算的时候往往十分复杂。但如果通过计算机模拟这个过程,比如进行100000次取球模拟,统计一下指定情况出现的次数对计算机来说是方便且快速的。同样,这个原理也适用于像天气预报这样复杂的系统过程。

以下的程序就是用于解决取球概率问题的。仔细阅读代码,补全空白的部分。

1     srand( (unsigned)time( NULL ) ); 2  3     int n = 0; 4     for(int i=0; i<100000; i++) 5     { 6         char x[] = {
1, 1, 1, 1, 1, 2, 2, 2, 2}; 7 int a = 0; // 取到的红球的数目 8 int b = 0; // 取到的白球的数目 9 10 for(int j=0; j<3; j++)11 {12 int k = rand() % (9-j);13 if(x[k]==1) 14 a++;15 else16 b++;17 18 _______________________;19 }20 21 if(a==1 && b==2) n++;22 }23 24 printf("概率=%f\n", n/100000.0*100);

 


 

  水题,数学题,概率

  填空处你需要做的是,把当前的最后一个球填到现在取出球的位置,即:x[k]=x[9-j-1]; 

   rand()函数返回一个从srand赋的整数到21亿的整数。具体见:、。

  代码:

1 #include 
2 #include
3 #include
4 5 int main() 6 { 7 srand( (unsigned)time( NULL ) ); 8 9 int n = 0;10 for(int i=0; i<100000; i++)11 {12 char x[] = {
1, 1, 1, 1, 1, 2, 2, 2, 2};13 int a = 0; // 取到的红球的数目14 int b = 0; // 取到的白球的数目15 16 for(int j=0; j<3; j++)17 {18 int k = rand() % (9-j);19 if(x[k]==1) 20 a++;21 else22 b++; 23 x[k]=x[9-j-1];24 }25 26 if(a==1 && b==2) n++;27 }28 29 printf("概率=%f\n", n/100000.0*100);30 return 0;31 }32 /* rand()函数不知道怎么用的可以用以下代码测试一下33 int main()34 {35 srand( (unsigned)time( NULL ) );36 while(getchar()){37 int k = rand();38 printf("%d\n",k);39 }40 }41 */

 

Freecode :

转载地址:http://sbybm.baihongyu.com/

你可能感兴趣的文章
浏览器 HTTP 协议缓存机制详解
查看>>
understand软件使用教程(转)
查看>>
【JavaScript】 JS面向对象的模式与实践
查看>>
13.ng-value
查看>>
8天掌握EF的Code First开发系列之动手写第一个Code First应用
查看>>
【Django】 积累
查看>>
iOS App的加固保护原理
查看>>
测试左移和测试右移
查看>>
云开发初探 —— 更简便的小程序开发模式
查看>>
CSharpGL(49)试水OpenGL软实现
查看>>
Centos7安装Tomcat并部署DubboAdmin的War包并配置自动启动
查看>>
Linux嵌入式时区修改
查看>>
[ACM] HDU 5024 Wang Xifeng&#39;s Little Plot (构造,枚举)
查看>>
微软小子Kie
查看>>
JQuery的extend扩展方法
查看>>
Ubuntu10下MySQL搭建Amoeba_分片升级版
查看>>
ClassCastException[转贴]
查看>>
MySQL vs.MongoDB 各有胜负!
查看>>
寻找最大的K个数,Top K问题的堆实现
查看>>
DDD:在基于关系数据库的领域,聚合的边界等于并发管理的边界。
查看>>