Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизПоиск оптимума пересмотром всех значений Найти похожие ветки
← →
webpauk © (2010-05-18 09:08) [0]суть задачи такова:
CONST - (X*Const1+Y*Const2+Z*Const3+...)<=0.01
Реализация сводится к пересмотру в цикле всех вариантов:
const
CONSTMain = 12345;
var
I1, I2, I3...: Integer;
begin
for I1 = 1 to ... do
begin
for I2 = 1 to ... do
begin
if CONSTMain-(I1*Const1+I2*Const2)<=0.01 then Exit;
end;
end;
end;
проблема в следующем: имеется неопределенное количество переменных, значения которых нужно исследовать, соответственно и не определено количество вложенных циклов.
Каким образом можно определить переменную цикла (I1, I2...), чтобы её можно было сделать зависимой от количества переменных?
← →
webpauk © (2010-05-18 09:10) [1]типичной ошибкой при использовании неопределенной переменной будет: For loop control variable must be simple local variable
← →
MBo © (2010-05-18 09:15) [2]рекурсия поможет.
А вообще это задача целочисленного линейного программирования.
← →
Омлет © (2010-05-18 20:38) [3]Откуда берутся переменные?
← →
Юрий Зотов © (2010-05-18 21:31) [4]
webpauk © (18.05.10 09:08)
> не определено количество вложенных циклов.
Рекурсия.
procedure Proc(Params: ...)
var
i: integer;
begin
...
for i := ... to ... do
begin
...
if ... then Proc(...)
...
end
...
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.08 c