rand5专题

【智力题】由Rand5()生成Rand7()

题目 给定生成1到5的随机数Rand5(),如何得到生成1到7的随机数函数Rand7()? 要从一个生成1到5的随机数的函数 Rand5() 中生成一个1到7的随机数的函数 Rand7(),我们可以利用均匀分布的性质和一些数学技巧。 方法概述 生成更大的范围:首先,我们可以通过调用 Rand5() 两次来生成一个更大的范围。具体来说,我们可以将两个 Rand5() 的结果组合成一个数字,形

两种经典方法解决随机数生成问题--利用rand5得到rand7

两种方法: 等概率得到0和1,然后利用二进制移位运算生成随机数基于N * (randN - 1) + randN,可以等概率地生成1-N*N之间的数字 以 利用rand5得到rand7 为例说明 # 一个函数可以实现1-5的随机数,设计另一个函数,实现1-7的随机数class Rand2rand:def f5(self):return int(random.random() * 5) +