- 主题:刚注意到取小于某个数的随机数, 用随机数取余并不随机
比如取10以内的随机数 rand() % 10, 加入rand()生成的是一个字节的随机数, 即0-255随机, 这样明显0-5的概率比6-9的概率高 因为250-255余数是0到5
--
FROM 223.160.130.*
其实“随机”这个词用的时候,每个人可能有不一样的意思
有人说随机就是你随便选,强盗的是任意性
有人说随机是要公平地选,选到的机率要相等
有人说随机是指符合某个概率分布的取法
C 库里的 rand 是等概率的产生 0 与 RAND_MAX 之间的数
背后的线性同余算法怎么工作的不太了解;写程序的时候,
最常见的是同时用两个(多个) rand 产生两个(多个)随机数。
此时,最不能理解的是这组随机变量的独立性;但程序员不管
【 在 stub 的大作中提到: 】
: 比如取10以内的随机数 rand() % 10, 加入rand()生成的是一个字节的随机数, 即0-255随机, 这样明显0-5的概率比6-9的概率高 因为250-255余数是0到5
--
FROM 124.78.172.*
只有国内的一些垃圾教材上用取余来获得特定范围的随机数。
各个编程语言其实都有规范的方法。
下面这篇文章也写了方法。
http://t.csdnimg.cn/5O0G8
【 在 stub 的大作中提到: 】
: 比如取10以内的随机数 rand() % 10, 加入rand()生成的是一个字节的随机数, 即0-255随机, 这样明显0-5的概率比6-9的概率高 因为250-255余数是0到5
--
FROM 123.113.225.*
说的对
【 在 stub (stub) 的大作中提到: 】
: 比如取10以内的随机数 rand() % 10, 加入rand()生成的是一个字节的随机数, 即0-255随机, 这样明显0-5的概率比6-9的概率高 因为250-255余数是0到5
: --
:
:
--
FROM 183.179.53.*
我自己diy了一个
用盖格计数器产生
完美的规避了这个问题
【 在 easior 的大作中提到: 】
: 其实“随机”这个词用的时候,每个人可能有不一样的意思
: 有人说随机就是你随便选,强盗的是任意性
: 有人说随机是要公平地选,选到的机率要相等
: ...................
--
FROM 221.220.63.*
被余数的范围太小了,即使这样,也可以加一个判断,只采用0-249之间的被余数。
【 在 stub 的大作中提到: 】
: 比如取10以内的随机数 rand() % 10, 加入rand()生成的是一个字节的随机数, 即0-255随机, 这样明显0-5的概率比6-9的概率高 因为250-255余数是0到5
--
FROM 123.113.98.*
大量平均随机分布相加,会得到正太分布的随机分布
【 在 easior 的大作中提到: 】
: 其实“随机”这个词用的时候,每个人可能有不一样的意思
: 有人说随机就是你随便选,强盗的是任意性
: 有人说随机是要公平地选,选到的机率要相等
: ...................
--
FROM 219.136.128.*
盖格计数器是硬件吧
不是说用来生成“真”随机数的硬件很贵嘛
【 在 Giwatron 的大作中提到: 】
: 我自己diy了一个
: 用盖格计数器产生
: 完美的规避了这个问题
: ...................
--
FROM 120.253.228.*
这是大数定理
但也解不开我的疑惑:
多个 rand 函数生成的数为什么独立?
【 在 iMx 的大作中提到: 】
: 大量平均随机分布相加,会得到正太分布的随机分布
--
FROM 120.253.228.*