python版本代码

g_maxValue = 6 # 单个骰子最大的点数

def PrintProbability(number):
'''
:param number: 骰子的个数
:return: 打印概率分布,返回表示概率分布的数组
'''
if number < 1: # 骰子个数小于1
return
maxSum = number * g_maxValue
pProbabilities = [0 for i in range(maxSum - number + 1)]
Probability(number, pProbabilities) total = pow(g_maxValue, number)
for i in range(number , maxSum + 1):
ratio = pProbabilities[i-number]/total
print(i, ratio)
return pProbabilities def Probability(number, pProbabilities):
'''
:param number: 骰子个数
:param pProbabilities:概率分布(计算频数)
:return: None
'''
for i in range(1, g_maxValue+1):
_Probability(number, number, i, pProbabilities) def _Probability(original, current, sum, pProbabilities):
'''
:param original: 等于骰子的个数,表示的意义是最小的点数之和,作为pProbabilities定位索引的一个offset
:param current: 还剩下的未考虑的骰子的个数
:param sum: 考虑过的骰子的点数之和
:param pProbabilities: 概率分布(计算频数)
:return: None
'''
if current == 1:
pProbabilities[sum - original]+=1
else:
for i in range(1, g_maxValue+1):
_Probability(original, current - 1, i+sum, pProbabilities) PrintProbability(1)

最新文章

  1. Logging configuration
  2. WebApi Put方法出现MethodNotAllowed解决方法
  3. WLAN拓扑介绍-07
  4. ubuntu wireshark finish
  5. Sed 直接修改文件
  6. 移动开发的框架(用Firepower,不用listview,超快) good
  7. Flask從入門到入土(一)——程序的基本結構
  8. 神奇的Scala Macro之旅(四)- BeanBuilder
  9. emWin实现ATM机界面设计,含uCOS-III和FreeRTOS两个版本
  10. MongoDB:配置与安装
  11. 数据库訪问技术之JDBC
  12. 让wampserver2.5.exe支持sql server数据库的方法
  13. MySql5.7 Distinct与Order By同时使用报错的解决方案
  14. day28Spark
  15. 2.Geany安装后编译器配置
  16. PeekMessage和GetMessage函数的主要区别
  17. 提取ipa里面的资源图片
  18. js判断两个日期是否严格相差整年(合同日期常用)
  19. json.dumps loads 终于区分出来了
  20. 海思NB-IOT的SDK看门狗的使用

热门文章

  1. Oracle 服务名/实例名,Service_name 和Sid的区别
  2. qq 面对面传文件,应用
  3. 程序员必备的网站之Tutorialspoint
  4. 预约系统(二) MVC框架搭建
  5. O011、理解 virbr0
  6. 爆路径写后门拿shell的一些姿势
  7. osworkflow 入门基础
  8. SQL SERVER 2012安装配置说明(多图详解)
  9. 手动从Spring中获取指定对象
  10. [uboot] (番外篇)uboot relocation介绍(转)