Используйте алгоритмы, которые вы видели, которые имеют увеличивающиеся упорядоченные значения, и просто замените их на значения в вашем списке.
Например, комбинации (с 0 индексами) будут:
0, 1, 2
0, 1, 3
0, 1, 4
...
...
Затем получите массив с вашими номерами
int array[] = { ...values... };
и измените комбинации на:
array[0], array[1], array[2]
array[0], array[1], array[3]
...
...