Suppose we wish to generate a sequence of 10000000 random 32-bit integers with no repeats. How can we do it? I faced this problem recently, and considered several options before finally implementing a custom, non-repeating pseudo-random number generator which runs in O(1) time, requires just 8 bytes of storage, and has pretty good distribution. I thought I’d share the details here. Approaches Cons