Главная /
Программирование на языке Pascal /
Имеется набор натуральных чисел, быть может, с повторениями. Необходимо разделить его на два поднабора так, чтобы разность сумм весов была минимальной. Эта задача решается рекурсивным методом полного перебора с отсечением (см. ниже). На вход были поданы ч
Имеется набор натуральных чисел, быть может, с повторениями. Необходимо разделить его на два поднабора так, чтобы разность сумм весов была минимальной. Эта задача решается рекурсивным методом полного перебора с отсечением (см. ниже). На вход были поданы числа 36 72 45 2 38 96 15 2 2
. При какой глубине стека контекстов произойдет завершение работы программы (обращение к завершающей процедуре out()
)?
{массив а хранит веса всех предметов, в порядке их ввода,
half - "большая" половина суммы всех весов,
dif - отклонение текущей найденной суммы от half}
procedure rec(k: byte; sum: longint; var dif: longint);
var i: byte;
begin if sum+a[k]<=half
then for i:= k+1 to n do rec(i,sum+a[k],dif)
else if half-sum<dif
then begin
dif:= half-sum;
if dif<2 then out(dif){печать и завершение}
end
end;
вопрос
Правильный ответ:
0
1
4
7
9
Сложность вопроса
93
Сложность курса: Программирование на языке Pascal
75
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на 4.!!!
29 июл 2020
Аноним
просто спасибо
18 фев 2018
Другие ответы на вопросы из темы программирование интуит.
- # Какие вершины взвешенного графа, заданного этой матрицей смежности, принадлежат к 10-периферии относительно вершины a? a b c d f a 0 5 0 7 0 b 5 0 8 4 0 c 0 8 0 6 0 d 7 4 6 0 3 f 0 0 0 3 0
- # Какие процедуры и функции стандартного модуля Crt отвечают за очистку строк и областей ввода/вывода?
- # Какой цвет текста получится на экране, если использоватьlightmagenta * blue - brown
- # С типизированными файлами могут работать файловые переменные, описанные следующим образом:
- # После завершения работы подпрограммы значение переданной в нее переменной-аргумента может измениться, если соответствующий параметр был: