How do you generate a random number between [1, n] using a random generator that generates a floating point number between [0.0, 1.0]

Suppose you have a random number generator that generates a random floating point number between [0.0, 1.0), for example drand48 , how can you create a random number generator that generates an integer between [1, n].

+6
source share
4 answers

Multiply by n , take the word and add 1.

+11
source

Take the RNG result, multiply by n-1 and add 1.

0
source

Example in c:

 long rand(int n) { double rand1 = 0; rand1 = drand48(); rand1 *= n - 1; rand1 += 1; return (long)rand1; } 
-2
source

I believe that you may have different random number generators.

 Multiply by n, take the int, and add 1. 
-3
source

Source: https://habr.com/ru/post/900532/


All Articles