Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Поиск оптимума пересмотром всех значений   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
15-1264125503
Дмитрий С
2010-01-22 04:58
2010.08.27
Оказывается я еще могу чему-то научиться.


15-1269725402
Юрий
2010-03-28 00:30
2010.08.27
С днем рождения ! 28 марта 2010 воскресенье


2-1266915505
Irisss
2010-02-23 11:58
2010.08.27
Получить ip удаленного ПК


15-1270388228
Дмитрий С
2010-04-04 17:37
2010.08.27
Как убрать веб браузер при загрузке delphi 2010.


15-1263814649
Делфиец
2010-01-18 14:37
2010.08.27
Заколебали спамеры, как защитьться