回 帖 发 新 帖 刷新版面

主题:生成随机整数的公式到底是哪一个?


我遇到一个这样的问题:
设置20个10~100之间的随机整数,存于一维整型数组中。
其中代码为:
......
For I=1 to 20
A(I)=[color=FF0000]Int(Rnd*91+10)[/color]
......

请问上面这种写法是否也是正确的呢?
在[a,b]区间生成的随机整数的公式不是Int((b-a+1)*Rnd+a)么
谢谢各位高手能给予解答!

回复列表 (共4个回复)

沙发

为什么rnd函数生成的随机数每次都是一样的?

板凳

回1楼:
当a=10,b=100时
Int((b-a+1)*Rnd+a)
等于
Int(Rnd*91+10)

回2楼:
rnd是伪随机数,是根据《随机数表》查出来的。随机数表是固定的,所以每次第一个数总是一样的,第二个数总是一样的,……
要不一样,就在rnd之前加上randomize

3 楼

谢谢你,我已经知道了!

4 楼

知道了就结贴啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册