Сегодня разбираем еще одну комбинаторную задачу на программирование. В прошлой статье о рекурсии, я привел одно из возможных решений задачи о генерации всех перестановок. Сегодня рассмотрим задачу о генерации всех размещений из n по k. Смысл размещений заключается в следующем: пусть имеется n предметов, будем выбирать из этого множества предметов k предметов и генерировать из них все перестановки. Легко видеть, что если k=1 то мы получим просто перечисление всех предметов, а если k=n то мы получим обычные перестановки. Количество размещений вычисляется по формуле (рисунок 1) |