问题标题:
【(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)取5Int(5*Rnd-1)取-1结果就是-5就不在你的范围内了如果Int(5*Rnd+1)取4Int(5*Rnd-1)取2结果就是8也不在你的范围内了
查看更多