A numbering system for combinations
Gary D. Knott · Communications of the ACM · 1974
It is often necessary to generate the sequence of combinations of s things chosen from among n things, or to generate a random member of this sequence. Various algorithms have been given for these tasks. Algorithm 94 [1] is a good combination generator, and methods for generating a random combination are discussed in [2, pp. 121-125].