![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с определением формулы математической задачи.
-Mouse- © (2007-06-06 00:17:00)Мастера, помогите пожалуйста вывести формулу (или алгоритм) решения следующей задачи:
Есть цепочка из N элементов. Каждый элемент - любая буква определенного алфавита.
Например:
1-й элемент - любая буква русского алфавита; (количество букв в алфавите - C1)
2-й элемент - любая буква английского алфавита (количество букв в алфавите - С2)
.......
N-й элемент - любая буква китайского алфавита (количество букв в алфавите - CN)
Соответственно кол-во всех сгенерированных цепочек, отличающихся содержимым 1-й ячейки друг от друга вычисляется по формуле:
Count = C1 * C2 * C3 * ....CN;
Но надо написать алгоритм, который бы выбирал цепочки, отличающиеся от всехранее успешных (отобранных) цепочек не менее W ячейками.
И вот тут я застрял. :-(
Подскажите пожалуйста формулу или алгоритм решения данной задачи.
Заранее спасибо.
MBo (2007-06-06 06:15:00) [1]>который бы выбирал цепочки
все цепочки или достаточно некоторого подмножества?
Если второе, то проще всего использовать алгоритмы генерации сочетаний из N по W, что эквивалентно получению битовых векторов с W установленными (единичными) битами. Для очередного вектора инкрементировать буквы на местах единичных битов.