我需要一个从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 :(得分:2)
答案 1 :(得分:2)
您提供的代码完全不符合" 0到10 或 0到100"的随机数的要求。您开始将A
设置为0到99之间的随机数,B
设置为0到9之间的随机数。但是计算的其余部分不会执行" OR"
这个怎么样:
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
答案 2 :(得分:1)
要获取从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