Показать сообщение отдельно
  #1  
Старый 15.12.2005, 23:20
jishimuro jishimuro вне форума
Прохожий
 
Регистрация: 15.12.2005
Сообщения: 1
Репутация: 10
Восклицание Помогите с решением задачи (динамическое программирование)

Формулировка задачи.
Дано мн-во целых неотрицательных чисел (проще говоря какой-то массив размера 'n' из натуральных чисел) и натуральное число 'm'. Необходимо найти все подмн-ва данного мн-ва, сумма элементов которых будет равна данному числу 'm' (т.е. найти все разложения данного числа по элементам данного массива).

Например:
Пусть дан массив A={1,3,2,9,6} (n=5) и пусть m=6. Очевидно, что искомыми мн-ми являются:
А1={1,3,2} и
A2={6}
(1+2+3=6, 6=6)

Вот такая задача. Надеюсь всё подробно и понятно. Сразу хочу выразить огромную благодарность всем, кто откликнется. Если кто-то решит предоставить код программы, то желательно на Delphi.
Ответить с цитированием