Reversible Random Number Generator
November 24, 2015
Some applications of random number generators. games, for instance, require that the random sequence be available to run in reverse.
This is easy to do with a simple linear congruential random number generator, which is characterized by the formula next = a * prev + c (mod m)
. With a little bit of algebra, that formula can be written prev = a−1 * (next - c) (mod m)
, where a−1 is the inverse of a (mod m)
; that modular inverse always exists because the linear congruential generator requires that a and m are coprime.
Your task is to write a reversible random number generator. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.