写了个求一些简单概率计算的 DSL ??吧
我数学比较差,概率和排列组合题对我来说都很难。备考中发现一题:
“随机安排甲、乙、丙 3 名志愿者为某学生辅导数学、物理、化学、生物 4 门学科, 每名志愿者至少辅导 1 门学科,每门学科由 1 名志愿者辅导, 求数学学科恰好由甲辅导的概率 P 。”
我想了一会儿想不出来,于是下决心用 Ruby 写个小工具解决这些罗里吧嗦的问题。
。
当然这么简单的活也没多大意思。复杂一点的见这个: https://gitee.com/crella/sawdust4/blob/master/sanla/test_probab_02.rb ,它解决问题是:
样本数组 A 是有 1,2,3 中任意值组成的有 4 个元素的无序集合的非重复集合,A 的元素有:
[1, 1, 1, 1] ; [1, 1, 1, 2] ; [1, 1, 1, 3] ; [1, 1, 2, 2] ; [1, 1, 2, 3] ;
[1, 1, 3, 3] ; [1, 2, 2, 2] ; [1, 2, 2, 3] ; [1, 2, 3, 3] ; [1, 3, 3, 3] ;
[2, 2, 2, 2] ; [2, 2, 2, 3] ; [2, 2, 3, 3] ; [2, 3, 3, 3] ; [3, 3, 3, 3]
问题一:
样本数组 A 里含有多少个样本,满足以下条件任一个:
样本集合含有两个或以上的 2 或 样本集合含有相邻的 3 => 11 个
问题二:
样本数组 A 里含有多少个样本,满足以下条件:
样本集合内重复的数最多有 3 个 => 6 个
问题三:
样本数组 A 里含有多少个样本,满足以下条件:
样本集合里存在 3 个数,且其和=8 => 3 个
问题四:
样本数组 A 里含有多少个样本,满足以下条件:
样本集合里存在相邻的数 a 且 a 是奇数 => 11 个样本
想看看各位大佬对这些虽然不复杂但是很麻烦的问题有什么好的解决办法。
1
biaoxie 2020-04-17 07:54:25 +08:00
这叫穷举。。好的解决方法就是别逃课好好学概率
|