作者kai5566 (中肯˙專業凱56)
看板C_and_CPP
標題[問題] rand()亂數範圍控制
時間Fri Feb 11 20:25:48 2011
靠...我是白痴...我知道了
因為取餘數絕對不會超過9......
我了解了
但某些時候好像會不太均勻的樣子 事嗎
問題(Question):我如果要取亂數3~11 是 (rand() % 9)+3 對吧?
但我不懂為什麼
rand()不是0~32767嗎? 為什麼 %9+3 會是3~11 ???
還有 為什麼是(rand() % 9)+3 不是(rand() % 8)+3呢?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
先感謝各位幫凱56解答~
--
████ ████ ◢███ ◢███ ◢ ◢ ◣◢
█ █ █ █ ███◣ ◢◤◢ ◥◤
███◣ ███◣ ███◣ ███◣ █ █ ◢█▆◤
█ █ █ █ █ █ █ █ ◥███◣ ◢◤◣
███◤ ███◤ ◥██◤ ◥██◤ █ █ ◢█▆█◣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.123.83.171
※ 編輯: kai5566 來自: 122.123.83.171 (02/11 20:33)
→ wawi:你隨便找一個數除以9 餘數只會是 0~8 再加3就3~11啦 02/11 20:32
→ kai5566:謝謝...我剛想到了!!! 還是謝謝!!!!!!!! 02/11 20:33
→ purincess:不會非常非常非常均勻, 因為32768不是9的倍數, 02/11 20:55
→ purincess:所以取夠多次之後, 11出現的次數會比較少. 02/11 20:55
→ purincess:移? 我好像講錯了@@ 02/11 20:56
→ purincess:偶 好像沒有XD 02/11 20:56
→ diabloevagto:不然用見表法把他弄亂之後再取... 02/11 21:54
推 yayarice:已經很均勻了吧... 02/12 16:01