关于C语言rand()函数的返回值的概率问题,
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 19:30:11
关于C语言rand()函数的返回值的概率问题,
rand()函数产生的随机数的概率不是相同的吧.
比如产生每次调用rand()%10的返回值中出现数字"1"和数字"2"的概率是否相同?
如果不同的话要怎样才能控制rand()函数的概率的?
rand()函数产生的随机数的概率不是相同的吧.
比如产生每次调用rand()%10的返回值中出现数字"1"和数字"2"的概率是否相同?
如果不同的话要怎样才能控制rand()函数的概率的?
and 产生伪随机数.
你所说的1与2的概率通常被认为是相同的.
因为rand本身也是一个算法,所以无法产生真正意义上的随机数.
再问: 换是生成1-45398之间的随机数呢tangram_guid_1361086269560?出现数字"1"和"2"的概率也被认为相同?
再答: 从0~32765返回的值所产生的0-5之间各个值得概率相等."...为啥返回的最大值是32767时这些值就不是"概率相等",而0-32765的又是概率相等? 得到0~32765中的一个数设为A, 我们用A%5可以得到0, 1, 2, 3, 4中的一个,因为32765是5的倍数,所以得到0,1, 2, 3, 4的概率相同。但是32767不是。
你所说的1与2的概率通常被认为是相同的.
因为rand本身也是一个算法,所以无法产生真正意义上的随机数.
再问: 换是生成1-45398之间的随机数呢tangram_guid_1361086269560?出现数字"1"和"2"的概率也被认为相同?
再答: 从0~32765返回的值所产生的0-5之间各个值得概率相等."...为啥返回的最大值是32767时这些值就不是"概率相等",而0-32765的又是概率相等? 得到0~32765中的一个数设为A, 我们用A%5可以得到0, 1, 2, 3, 4中的一个,因为32765是5的倍数,所以得到0,1, 2, 3, 4的概率相同。但是32767不是。