(5*Rnd+1)*Int(5*Rnd-1) 这个最后的范围为什么是-5~15?

119454546
2012-09-10 · TA获得超过8.3万个赞
知道大有可为答主
回答量:2.3万
采纳率:93%
帮助的人:6323万
展开全部
1.
Rnd产生大于等于0且小于1的随机小数,Int为取整数部分。

5*Rnd+1 即 产生大于等于1小于6的小数,

Int(5*Rnd-1) 产生 -1 到 3 的随机整数

所以结果为:
(-6,18)而非 [-5,15]

2.
如果是
Int(5*Rnd+1)* Int (5*Rnd-1) 则是 [-5,15]

5*Rnd+1 即 产生大于等于1小于6的小数
Int(5*Rnd+1) 取整 形成 1 到 5的随机整数

Int(5*Rnd-1) 产生 -1 到 3 的随机整数

所以结果为:
[-5,15]

希望对你有帮助
追问
nt(5*Rnd-1) 产生 -1 到 3 的随机整数

为什么不是-1到5?
追答
是取 最小值 和最大值  所以尽可能的小和大

-1到5中间不包括所有值

如果
Int(5*Rnd+1) 取 5
Int(5*Rnd-1) 取 -1
结果
就是-5 就不在你的范围内了
如果
Int(5*Rnd+1) 取 4
Int(5*Rnd-1) 取 2结果
就是8 也不在你的范围内了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式