作者dm33 ()
看板Programming
標題[問題] 產生一亂數且取N餘數,必需為M
時間Sun Sep 9 18:05:23 2012
即 Rand() % N = M
但N與M為已知,這個亂數產生要怎麼比較快符合需求
實例 產生 5位數之亂數,取7餘數必需為3
目前我只想到最爛的方法,就是一直跑loop直到命中為止
請問有人有更好的方法嗎,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.75.209.212
1F:→ bibo9901:rand()/N+M118.169.143.182 09/09 18:06
2F:→ dm33:感謝,我想太多了 哈 42.75.209.212 09/09 18:07
3F:→ wtvwtvwtv200:ans = M+N*(Rand()%xxx) 這樣可以? 42.79.139.6 09/09 18:07
4F:→ dm33:剛想法一下 (M - rand%N) + rand 42.75.209.212 09/09 18:17
5F:→ MOONRAKER:m + n * rand() 不就結了 114.45.202.196 09/09 19:57
6F:→ MOONRAKER:k>=0, nk+m保證除n得m 114.45.202.196 09/09 19:58
7F:→ bibo9901:...我*打成/沒發現118.169.143.182 09/09 21:26