На входе: строчка из n букв (в основном, русских), например: “абук”, и дополнительное число m, например, 3.
Задача: сгенерировать из букв той строки ВСЕ возможные комбинации длиной m.
Количество этих комбинаций может быть достаточно велико: на первом месте одна из n букв, потом на втором одна из остальных n-1, потом одна из остальных n-2, и т.д.
Всего получается n!/(n-m)! . В вышеуказанном примере – 24 варианта, а если, например, 10 букв, из которых надо сгенерировать 5-буквенные комбинации, то их будет уже 30240.
Оригинал этой записи в личном блоге.
Tags: