回 帖 发 新 帖 刷新版面

主题:关于RND(X)函数的问题?在线等啦~

各位大大好~
我想问一下
产生 [1,100]之间用RND函数是
INT(100*RND)+1
那么
产生 (1,100) 和 (1,100] 之间应该怎么解呢?
产生 [1,100)的随机整数能用
ABS((100*RND)-1)+1

回复列表 (共5个回复)

沙发

[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

板凳

(1,100)的整数,也就是[2,99]:
int(rnd*98)+2

3 楼

喔,这样一看,[1,100]还是有点不行

[1,100]     abs(100*(1-rnd)-1)+1        (这摆明就是抄袭楼主的嘛)
            abs(rnd-0.5)*198+1

4 楼

谢谢啦~

5 楼

i=fix(rnd*99)+1
print i

我来回复

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