我需要一个从 0 到 10 或从 0 到 100 的完全随机数作为在 QBasic 中为随机抽取程序完成的值“NUM”。我目前有这个:
RANDOMIZE TIMER: A = INT((RND * 100)): B = INT((RND * 10)): C = (A + B)
NUM = INT(C - (RND * 10))
这基本上只是一堆随机数学运算,以获得从 1 到 100 的随机数。
问题是我经常得到相同或非常相似的数字。有没有更可靠的方法来做到这一点?
我需要一个从 0 到 10 或从 0 到 100 的完全随机数作为在 QBasic 中为随机抽取程序完成的值“NUM”。我目前有这个:
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 到 99B
的随机数和从 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
试试这个兰德函数用作
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