教课书上写道int(100*rnd)+1 ---产生1-100间的随机整数我想不明白这括号后面+1是什么意思能不能说明一下原理呢
3 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
int((rnd*6)+1),随即产生1到6之间的
整数
rnd()
函数
随即产生一个大于等于0但小于1的
单精度浮点数
,
例如:你要随即产生10到96之间的整数
int(rnd*87
+10)
假设产生a到b之间的整数
则这个范围应该是b-a,由于rnd随机产生的数小于1且大于等于0,则
应该将rnd()乘以(b-a+1),则int(rnd*(b-a+1))就产生0到b-a之间的整数
再加上a以后就是a到b之间的整数,即int(rnd*(b-a+1)+a)
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
这是MSDN中的帮助.你看下吧..就知道100和1是怎么来的了.
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
- 3 回答
- 0 关注
- 341 浏览
添加回答
举报
0/150
提交
取消