Показать сообщение отдельно
Старый 04.04.2017, 16:35   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Виллилен Посмотреть сообщение
Задана производственная функция, цены единицы первого и второго ресурсов, а также ограничения I в сумме, которая может быть потрачена на приобретение ресурсов (сумма ≤ I). Найти величины используемых ресурсов (x, y), при которых фирма-производитель получит наибольшую прибыль:
K(x, y) = 10 ∙ √x ∙³√y
p1 = 2, p2 = 4, I = 12.
Поскольку в лучших традициях нашего форума вопрошающий не счел нужным перетруждаться, указав требуемый язык программирования, я, как дуэлянт в старину, право выбора оружия оставляю за собой.
Драться будем на Паскале.
Претензии типа "а мне надо на C#" НЕ ПРИНИМАЮТСЯ.
Код:
Const
 I=12;
 p1=2.0;
 p2=4.0;

Var
 n1,n2,n1max,n2max:Byte;
 x,y,S,Smax:Real;

Function K(z1,z2:real):Real;
begin
 K:=Sqrt(z1)*Exp(Ln(z2)/3)*10;
end;

Begin
 Smax:=0;
 for n1:=1 to 4 do
  begin
   x:=p1*n1;
   n2:=0;
   repeat
    Inc(n2);
    y:=p2*n2;
    S:=K(x,y);
    if ((x+y)<=I) then
     Writeln('x = ',Round(x),'     y = ',Round(y),'     K = ',S:0:5);
    if ((x+y)<=I) and (S>Smax) then
     begin
      Smax:=S;
      n1max:=n1;
      n2max:=n2;
     end;
   until x+y>I;
  end;
 Writeln;
 Writeln('Result:');
 Writeln('x = ',Round(p1*n1max));
 Writeln('y = ',Round(p2*n2max));
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070