[算法实现]选择n次(n≥M), 能集齐M种卡片的概率是多大?
来源:互联网 发布:手机淘宝注册开店流程 编辑:程序博客网 时间:2024/04/29 03:53
作者:zhanhailiang 日期:2013-12-08
一个礼盒由5种不同颜色(红, 橙, 蓝, 绿)的小球, 每次取小球概率相同, 请问取多少次小球可以取全5种颜色的小球?
数学分析
请见:选择 n 次 (n ≥ M),能集齐 M 种卡片的概率是多大?
程序实现
<?php/** * @version 1.0 * @author wade * @date 2013-12-08 * @desc 一个礼盒由5种不同颜色(红, 橙, 蓝, 绿)的小球, 每次取小球概率相同, 请问取多少次小球可以取全5种颜色的小球? */ ini_set('memory_limit', '512M'); $sum = 0;$tryTimes = array(); // 做200000次试验for($i = 0; $i < 200000; $i ++) { $target = array(); for($j = 1; TRUE; $j ++) { $target[] = mt_rand(1,5); if(count(array_diff(range(1, 5, 1), $target)) === 0 || $j > 1000) { $tryTimes[] = array($j, $target); $sum += $j; break; } }} $output = sprintf('average try times: %f; all try times: %s', $sum/200000, json_encode($tryTimes));echo $output.PHP_EOL;
结论
期望值为11.425675
- [算法实现]选择n次(n≥M), 能集齐M种卡片的概率是多大?
- LintCode:M-x的n次幂
- m的n次幂的几种解法
- 从m个数中选择n个数的实现
- m选n算法
- 算法—递归实现 C(m,n)
- 从 n 个数字中选出 m 个不同的数字,保证这 m 个数字是等概率的
- 求n^m 时间复杂度log(m)的算法
- N分成m个数的和算法
- 计算n的m次方算法
- m中选n的组合算法
- JAVA-- M选N的组合算法
- 求m和n的算法题
- 【算法导论学习-012】n个数随机等概率的抽样m个
- M*N的矩阵
- m的n次方
- N行中等概率抽取M行的解法
- m^n实现,利用递归的方法
- SQL查询本周本月的问题
- 使用JAXP Dom解析xml
- linux下lftp的常用方法
- 黑马程序员_JAVA中的二分查找(课堂笔记)
- java中equals和==的区别
- [算法实现]选择n次(n≥M), 能集齐M种卡片的概率是多大?
- 数据URL
- ubuntu中软件安装卸载和查看(转)
- 将自己的知识架构与发展画作一棵树,浇灌与培养
- cocos2d-x中使用多线程--pthread
- Makefile 实际用例分析(二) ------- 比较通用的一种架构
- 解决windows7驱动调试KdPrint不能输出的问题
- c++ 之类的前置声明
- Backbonejs教程第二版目录