Главная » Статьи » Задачи по программированию

Задача Антанаса Баранаускаса [Pascal]
Сколько можно купить быков, коров и телят, платя за быка 10 р., за корову—
5 р.,а за теленка — полтинник, если на 100 рублей надо купить 100 голов скота?

Условие этой задачи можно описать при помощи системы
уравнений:

где б — число быков; к — число коров; т — число телят.

  Обе части первого уравнения умножим на 2 (т.е. деньги будем считать в полтинниках):


Мы имеем систему двух уравнений с тремя неизвестными. В общем случае
такая система уравнений имеет бесконечное число решений. Однако в данном случае число решений конечно.
 Во-первых, решениями могут быть только неотрицательные числа.
 Во-вторых, возможные значения. Неизвестных ограничены и сверху: за 100р. нельзя купить более 10 быков (даже если покупать только одних быков), более 20 коров и более 200 телят.
Таким образом,

                     


 Поэтому задачу можно без труда решить, перебрав все возможные значения неизвестных и проверив, удовлетворяют ли они уравнению.
 Чтобы программа была более экономной, число телят,пользуясь вторым уравнением, выразим через два других неизвестных:

 т = 100— (б+к)
и будем проверять, перебирая значения переменных б и к, только первое уравнение. Мы составили программу:

var b,(* быки *)k, (* коровы *)t (* телята *):integer;
 begin
  for b:=0 to 10 do
   for k:=0 to 20 do
 begin
  t:=100 - (b + k);
  if 20*b+10*k+t=200 then
 begin
   writeln ('Bblkov',b:4);
     writeln ('Kopov',k: 4);
   writeln ('TelyaT',t: 4);
   end;
  end;
  Readln;
 end.

Выполнив эту программу, ЭВМ напечатала такие результаты:
БЫ КОВ: 1
КОРОВ: 9
ТЕЛЯТ: 90

Надеюсь задача была интересной и вы нашли для себя что то новое. Оставляйте комментарии добавляйте свои интересные задачи.
Спасибо что посетили наш сайт.
С уважением администрация сайта Solution.3dn.ru


Скажи спасибо, тыкни на рекламу =)
Категория: Задачи по программированию | Добавил: shypuk (14.08.2012)
Просмотров: 6326 | Теги: delphi, Pascal | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]