本文共 1934 字,大约阅读时间需要 6 分钟。
1.有一个随机数发生器,能以概率p生成0,以概率1-p生成1,问如何做一个随机数发生器使得生成0和1的概率相等。
2.用上面那个生成0和1的概率相等的随机数发生器,怎样做一个随机数发生器使得它生成的数在1...N之间均匀分布。
3. 已有可以生成1到7均匀分布随机整数的函数f1t7(),写一个调用函数f1t7()产生1到10之间均匀分布随机整数的函数。
调用两次f1t7(),可能产生49种等概率的结果,将前40种结果均匀映射到1至10;产生后9种结果再调用两次f1t7()直到产生前40中情况为止。
(/frac{40}{49}*/frac{4}{40})+/frac{9}{49}*((/frac{40}{49}*/frac{4}{40})+/frac{9}{49}*((/frac{40}{49}*/frac{4}{40})+/cdots))//=(/frac{40}{49}*/frac{4}{40})*(1+/frac{9}{49}+/frac{9}{49}^{2}+/cdots)//=/frac{4}{49}*/frac{1}{1-/frac{9}{49}}//=/frac{4}{49}*/frac{49}{40}//=/frac{1}{10}
转载地址:http://qhntb.baihongyu.com/