Parti da un vettore del tipo
[0, 0, ..., 0, 1]
e per passare da una combinazione alla successiva applichi la seguente procedura:
* parti da destra e guardi l'ultimo elemento
* se è 0 allora lo incrementi e hai finito
* se è 1 allora lo poni a 0 e analizzi l'elemento alla sua sinistra
* ripeti finché non trovi un elemento pari a 0, che porti a 1

Ti faccio notare che questo equivale a contare in base 2:
001
010
011
100
101
...