作者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