Вот по-другому:
Алгоритм решает задачу о рюкзаке, которая формулируется так: дан, упорядоченный по неубыванию, массив A вещественных положительных чисел и некоторое Sum, необходимо найти все подпоследовательности массива A, сумма элементов которых равна в точности Sum.
В результате работы алгоритма получаем переменную L равную количеству найденых последовательностей. Сами последовательности помещаются в масcив строк Results, каждая строка представляет номера элементов массива A, разделенные запятыми.
В нете много ссылок на алгоритмы, а самой проги нет

Вот ссылка, например:
http://alglib.manual.ru/combinatorial/backpack.php
Вот ещё кое-что:
http://www.isu.ru/~slava/teach/school/comb_ret.htm
Просто сам уже не успеваю прогу написать, теории учить ещё до фига!
Если чё, я в асе: 86835583
Можно, чтобы она(прога) работала по неоптимальному алгоритму, главное, чтобы работала и была не слишком запутана!