Как найти алгоритм?
Если число 3 задано жёстко, проще всего тройной циклдля i = [0..n—2)
  для j = [i+1..n−1)
    для k = [j+1..n)
Если нежёстко, то получаем такое.
Изначально массив инициализирован числами 0, 1, 2. Шагом является вот такая сложная операция.
Добавляем единицу к последнему элементу. Если он больше n−1, то крутим вторую итерацию цикла — добавляем 1 к предпоследнему, если он больше n−2, крутим третью.
Если цикл прошёл весь массив и так и не закончился — перебор окончен. Иначе идём по массиву вперёд и заполняем хвост числами a[i]+1, a[i]+2…
Тройной вложенный цикл. i от 0 до n - 3, j от i+1 до n-2, k от j+1 до n-1.
i, j, k будут индексами.