题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数. 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法: 该解法基于一种叫做拒绝采样的方法.主要思想是只要产生一个目标范围内的随机数,则直接返回.如果产生的随机数不在目标范围内,则丢弃该值,重新取样.由于目标范围内的数字被选中的概率相等,这样一个均匀的分布生成了. 显然rand7至少需要执行2次,否则产生不了1-10的数字.通过运行rand7两次,可以…