Сочетанием (combination) из n элементов по m называется множество (неупорядоченный набор) из m различных чисел, принадлежащих множеству 1:n.

Для перебора сочетаний выберем удобное стандартное представление сочетаний, например в виде монотонно возрастающего набора из m чисел, лежащих в диапазоне 1:n и будем перебирать только такие стандартные записи сочетаний.

Состояние вычислительного процесса. Массив x1,...,xm номеров, включенных в сочетание.

Начальное состояние. Принять xi = i для всех i, принадлежащих множеству 1:m.

Стандартный шаг. Просматривать компоненты вектора x, начиная с xm, и искать первую компоненту, которую можно увеличить (нельзя увеличить xm = n, xm - 1 = n-1,...). Если такой компоненты не найдется, закончить процесс. В противном случае, пусть k — наибольшее число, для которого xk < n + m - k. Увеличить xk на единицу, а для всех следующих за k-ой компонентой продолжить натуральный ряд от нового значения xk, т.е. положить xi = xk + (i - k) для i > k.