主题:生成随机整数的公式到底是哪一个?
wulei0301
[专家分:0] 发布于 2010-10-23 19:52:00
我遇到一个这样的问题:
设置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个回复)
沙发
realsummer [专家分:0] 发布于 2010-10-23 22:25:00
为什么rnd函数生成的随机数每次都是一样的?
板凳
老大徒伤悲 [专家分:29120] 发布于 2010-10-24 10:55:00
回1楼:
当a=10,b=100时
Int((b-a+1)*Rnd+a)
等于
Int(Rnd*91+10)
回2楼:
rnd是伪随机数,是根据《随机数表》查出来的。随机数表是固定的,所以每次第一个数总是一样的,第二个数总是一样的,……
要不一样,就在rnd之前加上randomize
3 楼
wulei0301 [专家分:0] 发布于 2010-10-29 09:57:00
谢谢你,我已经知道了!
4 楼
老大徒伤悲 [专家分:29120] 发布于 2010-10-29 13:08:00
知道了就结贴啊
我来回复