• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 概率的问题:使用递归与多次试验模拟的分析

概率的问题:使用递归与多次试验模拟的分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了小学数学概率问题,生活中的概率问题,概率问题,概率问题公式,数学概率问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

多次枚举:

实例1

口袋中有5只红球,4只白球。随机从口袋中取出3个球,取出1个红球2个白球的概率

  for(int j=0; j<3; j++)  //取3个球进行3次循环
  {
   int k = rand() % (9-j);  //下标的确定  确定范围  9-j 是重点
   if(x[k]==1)
    a++;
   else
    b++;

   x[k] = x[9-j-1]; //将取出数向后移动
  }
  if(a==1 && b==2)  n++;//取出1个红球2个白球时进行计数
 }
 printf("概率=%f\n", n/100000.0*100);</SPAN>
</div>
实例2

下面的代码解决了这个问题。其中的y表示红球至少出现的次数。

这与前文的问题是等价的。因为如果取30个球,要求红球数大于白球数,则等价于至少取出16个红球。

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>
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 概率的问题:使用递归与多次试验模拟的分析

相关文章

  • 2017-05-28C++中的friend友元函数详细解析
  • 2017-05-28C程序实现整数的素数和分解问题
  • 2017-05-28C语言在头文件中定义const变量详解
  • 2017-05-28Visual C++程序设计中Windows GDI贴图闪烁的解决方法
  • 2017-05-28深入剖析设计模式中的组合模式应用及在C++中的实现
  • 2017-05-28使用C语言的fork()函数在Linux中创建进程的实例讲解
  • 2017-05-28基于c的for循环中改变变量值的问题
  • 2017-05-28C++实现的分布式游戏服务端引擎KBEngine详解
  • 2017-05-28深入C++中struct与class的区别分析
  • 2017-05-28基于C语言中段错误的问题详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入解析C++中派生类的构造函数
    • C++ 模版双向链表的实现详解
    • VC下通过系统快照实现进程管理的方法
    • C语言 数据结构双向链表简单实例
    • Dijkstra最短路径算法实现代码
    • C语言求圆周率的简单实现方法
    • 详解C++编程中标记语句与复合语句的写法
    • Cocos2d-x学习笔记之CCLayerColor层的使用实例
    • C语言指针是什么?1分钟彻底理解C语言指针的概念
    • C语言判断一个数是否是2的幂次方或4的幂次方

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有