教課書上寫道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 關注
- 388 瀏覽
添加回答
舉報
0/150
提交
取消