关于概率算法的问题,不知道逻辑错在哪里,求debug
做个骰子成功几率的分析,投n颗骰子,第一次投成功的几率是a,然后投成功的骰子,需要再投1次,这次成功的几率是b。第二次成功的骰子才算最终成功。
要分析出n颗骰子,最终成功0到n颗的概率。
我写了个算法,求出的结果,合计0到n颗的概率不近似1,而且差别很大,求教各位大大算法有什么错误。
我算法的基本思路:
先统计出第一次投成功0-n颗骰子的概率列表。这步我自认没有问题,合计验算结果近似1
for (var i = 0; i <= n; i++){
FirstSuccessRateTbl.Add(i
, Utils.C(n, i)*(decimal)(Math.Pow((double)firstSucessRate,i)*Math.Pow((double)firstLoseRate,n-i)));
}其中Utils.C是我按C概率公式写的函数。FirstSuccessRateTbl用的是哈希表。
然后以第一次成功的概率表作为条件概率统计后一次成功X颗的几率,即累加第一次成功X及X以上颗骰子的情况下第二次投成功X颗的概率。
decimal sucessXRate = 0;
for (int i = x; i <= n; i++) {
sucessXRate += FirstSuccessRateTbl[i] * (decimal)(Math.Pow((double)secordSucessRate, i)*Utils.C(i,i-x)*Math.Pow((double)secordFailRate,i-x));
}
return sucessXRate;
但是按这个算法算下来,2次成功0-n颗的几率合计不为1,不知道错误在哪里。
关于概率算法的问题,不知道逻辑错在哪里,求debug >> csharp
这个答案描述的挺清楚的:
http://www.goodpm.net/postreply/csharp/1010000008918700/关于概率算法的问题不知道逻辑错在哪里求debug.html
关于概率算法的问题,不知道逻辑错在哪里,求debug的更多相关文章
- JSBinding+Bridge.Net:框架代码与逻辑代码的关系
在JSB+Bridge工程中你可以同时维护Cs版本和Js版本的游戏. 框架代码:简称framework,表示那些不进行热更的代码.注意,这包括你自己写的代码,也包括引用的Dll,比如UnityEngi ...
- poj3429(有错)
不知道为什么错.. /************************************************************************* > File Name: ...
- MySQL 常用报错注入原理分析
简介 这段时间学习SQL盲注中的报错注入,发现语句就是那么两句,但是一直不知道报错原因,所以看着别人的帖子学习一番,小本本记下来 (1) count() , rand() , group by 1.报 ...
- 微信小程序报错TypeError: this.setData is not a function
今天在练习小程序的时候,遇到小程序报错 对于处于小白阶段的我,遇到这种报错,真还不知道是错从何来,只有一脸蒙逼,后来通过查询,终于知道了问题所在,下面对这一问题做一记录 小程序默认中是这么写的 onL ...
- 面向对象进阶时,if语句写错位置
这周blog我也不知道要写什么,因为这章我其实学得有点懵,前面那几天我纠结了好久代码,一直不知道原因错在哪里.后来经过询问老师才知道自己调用错了构造方法,相信也有跟我一样的新手会犯这个错误.我在创建关 ...
- AgileBoot - 项目内统一的错误码设计
本篇文章主要探讨关于统一错误码的设计,并提供笔者的实现 欢迎大家讨论,指正. 该错误码的设计在仓库: github:https://github.com/valarchie/AgileBoot-Bac ...
- VS2015+Win10 调试DirectX 报错
安装完Win10调试程序突然在这个地方报错: #if (defined(DEBUG) || defined(_DEBUG)) deviceFlags |= D3D11_CREATE_DEVICE_DE ...
- 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法
解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the ...
- HDU 2048 神、上帝以及老天爷(递归,错排,dp,概率)
中文题,错排,求概率,不解释,核心思路同 HDU 1465 错排简单思路可看:http://www.cnblogs.com/laiba2004/p/3235934.html //错排,但是我之前叫了几 ...
随机推荐
- 【VC++游戏开发】智力游戏——鸡蛋里挑骨头(仿扫雷)
在我学习游戏开发的过程中,遇到的最大的麻烦就是不知道一个游戏的完整实现过程,代码倒是其次. 这里,总结一下我做过的游戏.主要是梳理整每一个步骤. 先看下终于的效果 第1步,准备素材图片 包含鸡蛋.骨头 ...
- How to get the MouseEvent coordinates for an element that has CSS3 Transform?
I want to detect where a MouseEvent has occurred, in coordinates relative to the clicked element. Wh ...
- 使用dispatch_once实现单例
很多人实现单例会这样写: @implementation XXClass + (id)sharedInstance { static XXClass *sharedInstance = nil; @s ...
- 新型查询系统impala
这羊头很酷... Apache Impala是Apache Hadoop的开源本地分析数据库.Impala由Cloudera,MapR,Oracle和Amazon提供. 在Hadoop上进行BI风格的 ...
- mybatis与spring整合配置
mybatis与spring整合配置: 第一种方式:(此处配置扫描的包路径.注解.每个mapper类上面需要加@Repository才能纳入spring的bean管理器中) <!-- 自动扫描m ...
- 752. [BJOI2006] 狼抓兔子
★★★ 输入文件:bjrabbit.in 输出文件:bjrabbit.out 简单对比时间限制:1 s 内存限制:162 MB Description Source: Beijin ...
- Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合(转)
原文 http://blog.csdn.net/songanling/article/details/22454973 最新版Struts2+Hibernate+Spring整合 目前为止三 ...
- Eclipse schema xml提示
步骤一:确定xsd文件位置 spring-framework-3.2.0.RELEASE\schema\beans 步骤二:复制路径 步骤三:搜索“xml catalog” 步骤四:添加约束提示 ...
- http_build_query 字符串拼接
http_build_query 字符串拼接 产生一个urlencode之后的请求字符串. 1.将数组转化成url问号(?)后的字符串 <?php $date=array( 'name'=> ...
- WPF内嵌WCF服务对外提供接口
要测试本帖子代码请记得管理员权限运行vs. 我写这个帖子的初衷是在我做surface小车的时候有类似的需求,感觉这个功能还挺有意思的,所以就分享给大家,网上有很多关于wcf的文章 我就不一一列举了.公 ...