设我们拥有一个随机数发生器rand7均匀产生1-7之间随机整数,如何构造rand10均匀产生1-10之间的整数

由于rand7是均匀产生,因此由均匀分布的概念来说,产生1-7之间的概率是相同的分别是1/7,因此在该条件下,为了满足计算需要可以适当丢弃1-7之间的数字,而不会影响其他数字获取的概率

如何利用产生0-7的随机函数,产生1-10的随机数如何利用产生0-7的随机函数,产生1-10的随机数第一步:将1-7数字中的7移除掉,剩下1-6分别为一半奇数一半偶数,奇偶概率相同

第二步:将1-6数据分别于1进行按位与操作,将1-6转换成0-1

第三步:4次循环,每次由1-6数字产生0-1数字,生成0-15范围数字

第四步:由于0-15生成概率相同,丢弃掉0与11-15保留1-10

同理可进行任意0-n到0-m的转换

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-07-29
  • 2021-12-21
  • 2021-12-24
  • 2021-06-30
  • 2021-06-12
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2022-01-05
  • 2022-01-11
  • 2021-09-15
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案