[問題] rand()亂數範圍控制

看板C_and_CPP作者 (中肯˙專業凱56)時間15年前 (2011/02/11 20:25), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
靠...我是白痴...我知道了 因為取餘數絕對不會超過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)

02/11 20:32, , 1F
你隨便找一個數除以9 餘數只會是 0~8 再加3就3~11啦
02/11 20:32, 1F

02/11 20:33, , 2F
謝謝...我剛想到了!!! 還是謝謝!!!!!!!!
02/11 20:33, 2F

02/11 20:55, , 3F
不會非常非常非常均勻, 因為32768不是9的倍數,
02/11 20:55, 3F

02/11 20:55, , 4F
所以取夠多次之後, 11出現的次數會比較少.
02/11 20:55, 4F

02/11 20:56, , 5F
移? 我好像講錯了@@
02/11 20:56, 5F

02/11 20:56, , 6F
偶 好像沒有XD
02/11 20:56, 6F

02/11 21:54, , 7F
不然用見表法把他弄亂之後再取...
02/11 21:54, 7F

02/12 16:01, , 8F
已經很均勻了吧...
02/12 16:01, 8F
文章代碼(AID): #1DLIhHEW (C_and_CPP)