Up верхнюю границу,
Up верхнюю границу, а через Down - нижнюю границу интервала, из которого могут браться числа для записи в сектора с номерами от 2 до n. Общая схема («набросок»).
for l:=k to m do begin
<выбор числа в первый сектор>;
for j:=2 to n do begin (* j - номер сектора *)
<определение значений верхней и нижней границ для чисел, записываемых в сектор с номером j>;
for i:=Down to Up do (* i - записываемое число *)
begin
< записать в сектор с номером j число i >
< откорректировать массив сумм, которые можно составить из чисел, записанных в сектора>
< выполнить проверку последовательности сумм >
end;
end;
end;
Эта привлекательная схема перебора мало пригодна для «жизни», ибо время перебора будет весьма не привлекательным. Попробуем на этапе уточнения повысить пригодность схемы. "Откорректировать массив сумм". Пусть в Q (array[1..n,0..n] of byte) будут храниться суммы чисел из секторов круга S (array[1..n] of byte). В нулевом столбце
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа