Algorithm 版 (精华区)

发信人: shs (花雨飘), 信区: Algorithm
标  题: Re: 伪随机数的生成算法?
发信站: 哈工大紫丁香 (Sat Sep  9 12:55:48 2000), 转信

【 在 edifier (闲人) 的大作中提到: 】
:     想找一个伪随机数的生成算法,产生0000--9999中的100个互不相同的伪随机数。
: 每个这样的算法可由几个参数确定,以便可由这些参数确定某个具体的数是否属于一批
: 伪随机数。
:     比如
:            F(k; a, b)=a*k+b mod10000,0<=k<=99.
:     这里参数a, b可取为素数,比如取a=1231,b=191等。这个算法可生成100个互不
: 相同的伪随机数,也容易验证某数是否属于这批随机数。但这个算法产生的伪随机数
: 的随机性太差,相邻两数间的距离几乎固定!
:     哪位大侠有好的想法?
: ———————
: 渡尽劫难兄弟在
:     相逢一笑泯恩仇
:     ———————  

微软的这个算法不错:

return(((holdrand = holdrand * 214013L + 2531011L) >> 16) & 0x7fff);

它做一次移位运算获得随机型。

--
                   哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
                   哈                          哈
                   哈 佛颜常笑,笑世上可笑之人 哈
                   忍 大肚能容,容天下难容之事 忍
                   忍                          忍
                   忍忍忍忍忍忍忍忍忍忍忍忍忍忍忍

※ 修改:.shs 于 Sep  9 12:53:27 修改本文.[FROM: as.hit.edu.cn]
※ 来源:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 202.114.113.254]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: as.hit.edu.cn]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: shs.bbs@bbs.whnet.ed]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.272毫秒