Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Перебор всех вариантов

Автор: Dennis 14.02.2005 19:17

Есть линейный массив размерностью 500, он заполнен цифрами N (где N принадлежит от (0;1000], с клавиатуры вводится число K, нужно вывести индексы эл-тов, сумма значений которых не превышает K (нужно учесть все возможные комбинации); За ранее спасибо за помощь.

Автор: volvo 14.02.2005 19:23

А посмотреть http://forum.pascal.net.ru/index.php?showtopic=2503 нельзя было? Там есть что-то похожее...

Задача №5 (задача о рюкзаке).

Автор: APAL 14.02.2005 19:33

Код
For i:=1 to 499 do
 for j:=i+1 to 500 do
   If m[i]+m[j]<K then Writeln('m[',i,']+m[',j,']');

Автор: hiv 14.02.2005 19:46

А суммировать нужно только два элемента массива? Вроде этого ограничения нет в задаче... :low:

Автор: APAL 14.02.2005 20:21

Цитата(hiv @ 14.02.05 15:46)
А суммировать нужно только два элемента массива? Вроде этого ограничения нет в задаче...  :low:

Да, действительно нету...
Но пусть автор топика уточнит данный момент.

Автор: Guest 14.02.2005 20:46

Цитата(APAL @ 14.02.05 16:21)
Да, действительно нету...
Но пусть автор топика уточнит данный момент.

суммировать можно какие угодно и сколько угодно эл-ты, я так понимаю там нужно рекурсивно всё перебрать, да вот с рекурсие я не очень дружу...

Автор: volvo 14.02.2005 20:49

Guest, по ссылке ходил? Там пример программы есть...

Автор: Dennis 14.02.2005 20:51

Да, вы правы это задача как у меня, спасибо за ссылку и извините, что не зареген...