VB的Rnd函数问题

我请问一下,VB的Rnd函数问题
最新回答
楚楚可人

2025-06-27 03:22:07

此题填1001

1.用Rnd函数产生随机整数,可以通过将由Rnd函数产生的随机小数乘以一个整数,然后再对结果取整获得。

2.产生一个从N到M之间的随机整数(M>N,包括M和N)的表达式为:Int(Rnd*(M-N)+1)+N

不懂可以追问,希望有帮助^_^
追问
但是答案上显示的是1000
温茶

2025-06-27 12:08:29

你好!
Rnd 产生随机数的范围是[0,1)。所以,产生30个0-1000的整数, 就是[0,10 00] 。而int(x)函数,取不超过x的最大整数。故,Int(1000*rnd+1)=[1 ,1000]
追问
不是1001吗,如果填1000的话,不就成了Int(1000*rnd+1)=[1 ,1000)???
①苆侒ぬ

2025-06-27 14:29:49

for i=1 to 30
Randomize '建议添加此函数防止每次生出随机数一样
'此处随机数上限值填1000
arrN(i) = Int((随机数上限值 - 随机数下限值 + 1) * Rnd + 随机数下限值)
next
深秋叶落黄

2025-06-27 06:47:14

RND 产生随机数的范围是[0,1)
所以产生30个0-1000的整数 就是[0,1000]
那么应该是1001,因为rnd永远到不了1,所以用INT函数后,就剩下1000了
梦似曾见

2025-06-27 16:32:03

Basic是从1开始数的。