我需要一个完全随机的数字,从0到10或从0到100作为一个值"NUM"在QBasic随机抽取程序完成。我现在有这个:
RANDOMIZE TIMER: A = INT((RND * 100)): B = INT((RND * 10)): C = (A + B)
NUM = INT(C - (RND * 10))
这基本上只是一堆随机的数学运算,以获得从1到100的随机数。
问题是我经常得到相同或非常相似的数字。有没有更可靠的方法来做到这一点?
您提供的代码根本不满足"从0到10的随机数或从0到100"的要求。首先将A
设置为0到99之间的随机数,将B
设置为0到9之间的随机数。但是计算的其余部分不执行"或"。
这个怎么样:
RANDOMIZE TIMER
A = INT(RND * 101) // random number from 0 to 100
B = INT(RND * 11) // random number from 0 to 10
C = INT(RND * 2) // random number from 0 to 1
IF C = 0 THEN
NUM = A
ELSE
NUM = B
END IF
或更简化:
RANDOMIZE TIMER
NUM = INT(RND * 101)
IF INT(RND * 2) = 0 THEN
NUM = INT(RND * 11)
END IF
试试这个Rand函数
NUM = Rand(0, 100)
要获得从0到任何数字的随机数,您可以使用以下程序-
Randomize timer
Rand_num = INT(RND(1)*limit)+1
Where-
Rand_num= the random number
Limit = the last number like if you want from 0 to 100 then limit will be 100