vb中的一个Rnd函数表达式的问题可以产生30~50(含30和50)之间的随机整数的表达式是A) Int(Rnd * 21+30) B) Int(Rnd * 20+30)C) Int(Rnd * 50 - Rnd * 30) D) Int(Rnd * 30 + 50)请问:我是新手请大侠解释的详细一点1.我选择的是 D)Int(Rnd * 30 + 50) ,但为什么答案是 A) Int(Rnd * 21+30) 2.这个好像有什么公式吧?哪个是上界 哪个是下界啊

问题描述:

vb中的一个Rnd函数表达式的问题
可以产生30~50(含30和50)之间的随机整数的表达式是
A) Int(Rnd * 21+30) B) Int(Rnd * 20+30)
C) Int(Rnd * 50 - Rnd * 30) D) Int(Rnd * 30 + 50)
请问:我是新手请大侠解释的详细一点
1.我选择的是 D)Int(Rnd * 30 + 50) ,但为什么答案是 A) Int(Rnd * 21+30)
2.这个好像有什么公式吧?哪个是上界 哪个是下界啊

Int((m - n + 1) * Rnd + n)
n是下限,m是上限
你要的就是:int(Rnd*(50-30+1) + 30)