Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с определением формулы математической задачи.


-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 установленными (единичными) битами. Для очередного вектора инкрементировать буквы на местах единичных битов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо