本文共 472 字,大约阅读时间需要 1 分钟。
1.给定一个函数rand5(),该函数能等概率生成1-5之间的整数(包括1和5),如何用该函数等概率生成整数1-7?
本以为很简单,做了以后才发现其实并不简单,这个题难就难在要求是等概率,贴出几个解法,供大家参考
下面代码来自StackOverflow
解法一
解法二(更直观一些)
2. 一个随机数生成函数f(),只产生数字1和0,生成1的概率是p,生成0的概率是1-p,如何利用该函数等概率生成1和0?(此题来自算法导论一书)
由于p(1-p)和(1-p)p是两个等概率事件,根据这个原理,可得如下代码