VB题目 还有高分加哦,, int(-10*rnd(3)-12)产生的随机整数的范围是 请各位大侠详细解释做题步骤
3个回答
展开全部
Rnd[(number)]
如果 number 的值是 Rnd 生成
小于 0 每次都使用 number 作为随机数种子得到的相同结果。
大于 0 序列中的下一个随机数。
等于 0 最近生成的数。
省略 序列中的下一个随机数。
rnd(3)表示使用3做种子产生随机数,其范围依旧是[0,1)
-10*rnd(3)其范围为(-10,0]
-10*rnd(3)-12 的范围为(-22,-12]
INT(number)表示求不大于number 的最大整数,Int(3.8)=3,Int(-3.8)=-4。
int(-10*rnd(3)-12)其整数的范围为[-22,-12]
如果 number 的值是 Rnd 生成
小于 0 每次都使用 number 作为随机数种子得到的相同结果。
大于 0 序列中的下一个随机数。
等于 0 最近生成的数。
省略 序列中的下一个随机数。
rnd(3)表示使用3做种子产生随机数,其范围依旧是[0,1)
-10*rnd(3)其范围为(-10,0]
-10*rnd(3)-12 的范围为(-22,-12]
INT(number)表示求不大于number 的最大整数,Int(3.8)=3,Int(-3.8)=-4。
int(-10*rnd(3)-12)其整数的范围为[-22,-12]
展开全部
理论上:-12到-22
测试时:由于rnd结果很少出现0的情况,所以你做测试时,大多数情况为-13到-22
rnd(3)最小为0时,-10*rnd(3)的值为0,int(0-12)=-12
rnd(3)最大为9.999999...,-10*rnd(3)为-9.99999....,-9.99999...-12=-21.99999...,由于int对负数取整时会把小数进位,所以int(-21.99999)=-22
测试时:由于rnd结果很少出现0的情况,所以你做测试时,大多数情况为-13到-22
rnd(3)最小为0时,-10*rnd(3)的值为0,int(0-12)=-12
rnd(3)最大为9.999999...,-10*rnd(3)为-9.99999....,-9.99999...-12=-21.99999...,由于int对负数取整时会把小数进位,所以int(-21.99999)=-22
更多追问追答
追问
就没有公式什么的吗? 一定要这样推算吗?
追答
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询