Ciao, dal punto di vista strettamente matematico non si tratta di combinazioni, ma di disposizioni con ripetizione, il cui numero infatti si calcola come D'(n,k)=n^k.
Per ottenere l'elenco delle singole disposizioni con ripetizione di classe k e di n elementi, basta implementare una funzione che somma 1 ad un numero in base n costituito da k cifre. Mi spiego meglio con alcuni esempi:
D'(3,2) = 9:
1) 0 0
2) 0 1
3) 0 2
4) 1 0
5) 1 1
6) 1 2
7) 2 0
8) 2 1
9) 2 2
oppure rifacendomi al tuo primo esempio:
D'(2,3) = 8:
1) 0 0 0
2) 0 0 1
3) 0 1 0
4) 0 1 1
5) 1 0 0
6) 1 0 1
7) 1 1 0
8) 1 1 1
Se hai qualche dubbio chiedi pure.