[問題] 產生一亂數且取N餘數,必需為M

看板Programming作者時間13年前 (2012/09/09 18:05), 編輯推噓0(007)
留言7則, 4人參與, 最新討論串1/2 (看更多)
即 Rand() % N = M 但N與M為已知,這個亂數產生要怎麼比較快符合需求 實例 產生 5位數之亂數,取7餘數必需為3 目前我只想到最爛的方法,就是一直跑loop直到命中為止 請問有人有更好的方法嗎,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.75.209.212

09/09 18:06, , 1F
rand()/N+M
09/09 18:06, 1F

09/09 18:07, , 2F
感謝,我想太多了 哈
09/09 18:07, 2F

09/09 18:07, , 3F
ans = M+N*(Rand()%xxx) 這樣可以?
09/09 18:07, 3F

09/09 18:17, , 4F
剛想法一下 (M - rand%N) + rand
09/09 18:17, 4F

09/09 19:57, , 5F
m + n * rand() 不就結了
09/09 19:57, 5F

09/09 19:58, , 6F
k>=0, nk+m保證除n得m
09/09 19:58, 6F

09/09 21:26, , 7F
...我*打成/沒發現
09/09 21:26, 7F
文章代碼(AID): #1GJ6dcs6 (Programming)
文章代碼(AID): #1GJ6dcs6 (Programming)