作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/04/20 00:02:40
(5*Rnd+1)*Int(5*Rnd-1) 这个最后的范围为什么是-5~15?
(5*Rnd+1)*Int(5*Rnd-1) 这个最后的范围为什么是-5~15?
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 也不在你的范围内了