回 帖 发 新 帖 刷新版面

主题:谁能谈谈随机函数RND()的使用?

比如求10到99之间的随机整数,能列举出多少种方法?

回复列表 (共14个回复)

沙发

1. 教材中最基础的办法:
   a% = rnd * 89 + 10

2. 也是用随机数
   do
     a% = rnd * 100
   loop while a%<10 or a%>99
   应该不会那么倒霉变成死循环吧?
   要真有那么黑的话我马上去买彩票。

3. timer ?  还是免了。因为它的速度赶不上计算的快

4. 还是用随机数
   a%=rnd*8+1
   a%=a%*10+rnd*9

后话:
虽然随机数不随机,
但我们可以想一些办法让它变得随机一点,
比如经常使用新的种子数,
rnd 还可以改成 rnd(n)
连参量n都搞成不定数,
这样得到的数列就可以改变那种固定曲线的问题了。

板凳

谢谢哦
int(rnd*89+10)
int(rnd*89)+10
能吧

3 楼

不行的

用 int 是不能四舍五入的
直接用变量赋值可以四舍五入
才能得到最大值99
用 int 你是永远用不到99这个值的
最大只能得到98

4 楼

那就改一下吧
int(rnd*90)+10
int(rnd*90)+10
可以吧.

5 楼

呵呵,嗯,可以了。

6 楼

[0,1)

7 楼

用rnd前先执行randomize timer

8 楼

RANDOMIZE + TIMER
  N=RND(N)*100

应该可以吧!楼上的

9 楼

RANDOMIZE
A=FIX(RND*89)+10
应该可以了,在前面加上RANDOMIZE

10 楼

你求的是10到99:
用INT整型也是可以的,谁说不可以.
defint a
a=int(rnd*89)+1
print a+10
因为你求的是10到99所以只要到89少10就行,然后用时再加上10

我来回复

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