I am trying to digest a very common method to generate random number in smaller range using a random number generator of larger range.
let say in C/C++ i am using rand() [it generate random number between 0 to RAND_MAX RAND_MAX is atleast 32767.]
let say i have to generate random number between 0-99 both inclusive. a common trick done is rand()%100.
Wont rand()%100 generate slightly different probablity [slightly higher for 0-67]
what is the best way to do this so that you generate uniform random number?