Главная /
Программирование на языке Pascal /
Имеется набор натуральных чисел, быть может, с повторениями. Необходимо разделить его на два поднабора так, чтобы разность сумм весов была минимальной. Эта задача решается рекурсивным методом полного перебора с отсечением (см. ниже). На вход были поданы ч
Имеется набор натуральных чисел, быть может, с повторениями. Необходимо разделить его на два поднабора так, чтобы разность сумм весов была минимальной. Эта задача решается рекурсивным методом полного перебора с отсечением (см. ниже). На вход были поданы числа 45 48 32 12 12 15 46 2 2 3 15
. При какой глубине стека контекстов произойдет завершение работы программы (обращение к завершающей процедуре 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
11
Сложность вопроса
65
Сложность курса: Программирование на языке Pascal
75
Оценить вопрос
Комментарии:
Аноним
Зачёт сдал. Лечу кутить отмечать сессию интуит
03 янв 2020
Аноним
Это очень элементарный тест intuit.
18 окт 2019
Другие ответы на вопросы из темы программирование интуит.
- # Какую высоту будет иметь дерево синтаксического анализа для выражения(a+b)*(c*d-k)-((m+n)/s*(t+y)*(z-x))
- # Постройте дерево бинарного поиска (дерево сортировки) для входной последовательности чисел 7 2 5 1 8 3 6 4 9 13 11 10 12, а затем распечатайте вершины этого дерева в порядке обхода в ширину. Какая последовательность чисел получится?
- # Какой из вариантов расстановки скобок в выражении a + b or c shl a * c - a mod b > a не меняет порядок выполнения операций?
- # Метод сортировки Шелла является:
- # Переменные каких типов можно выводить в текстовый файл при помощи команд write() или writeln()?