主题:关于RND(X)函数的问题?在线等啦~
harrypt
[专家分:0] 发布于 2005-09-22 21:34:00
各位大大好~
我想问一下
产生 [1,100]之间用RND函数是
INT(100*RND)+1
那么
产生 (1,100) 和 (1,100] 之间应该怎么解呢?
产生 [1,100)的随机整数能用
ABS((100*RND)-1)+1
回复列表 (共5个回复)
沙发
moz [专家分:37620] 发布于 2005-09-22 22:43:00
[1,100] int(100*rnd)+1
[1,100) 99*rnd+1 (楼主做的应该也行,概率挺特别的)
(1,100] (1-rnd)*99+1
100-99*rnd
(1,100) (1-rnd)*99+(1-rnd) (万一发生了千载难逢的意外,两个随机数都是0就糟了
这个(1,100)可真的有点不太好办
(1,100) ( 1 - rnd ) * 98 + 1 + rnd
(( 1 - rnd + rnd )/2) * 99 + 1
99 - 98 * rnd + rnd
板凳
staa [专家分:3690] 发布于 2005-09-23 01:39:00
(1,100)的整数,也就是[2,99]:
int(rnd*98)+2
3 楼
moz [专家分:37620] 发布于 2005-09-23 07:44:00
喔,这样一看,[1,100]还是有点不行
[1,100] abs(100*(1-rnd)-1)+1 (这摆明就是抄袭楼主的嘛)
abs(rnd-0.5)*198+1
4 楼
harrypt [专家分:0] 发布于 2005-09-23 12:19:00
谢谢啦~
5 楼
w1212q [专家分:660] 发布于 2006-12-31 17:02:00
i=fix(rnd*99)+1
print i
我来回复