помогите пожалуйста написать программу... Задача: Петя любит ездить на такси. Для него это не только удовольствие от быстрой и комфортной поездки, но и возможность всласть поторговаться с таксистом о цене проезда. Торг между Петей и таксистами всегда происходит по одному и тому же сценарию: — Мне в аэропорт, заплачу 150 рублей. — Нет, за 150 не повезу, поехали за 1000. — Да ты что?! У меня и нет столько! Согласен за 200. — Ты смеешься? Давай хотя бы за 900. — Ну хорошо, дам 250. — Да ты хоть знаешь, сколько бензин стоит? 800 и поехали! … Этот диалог продолжается до тех пор, пока они не сойдутся в цене. Петя всегда увеличивает свою цену на одну и ту же сумму, а таксист таким же образом снижает ее. Таксист не станет называть цену ниже той, которую предложит Петя. В этом случае он согласится с его ценой. Аналогичным образом поступит и Петя. Исходные данные В единственной строке даны 4 целых числа: a — стартовая цена Пети, b — надбавка Пети к своей цене, c — стартовая цена таксиста, d — скидка таксиста к своей цене (1 ≤ a, b, c, d ≤ 10000). Результат Выведите сумму, которую Петя заплатит за проезд. Пример исходные данные результат 150 50 1000 100 450

2

Ответы и объяснения

2013-03-05T09:27:21+00:00

Петя любит ездить на такси. Для него это не только удовольствие от быстрой и комфортной поездки, но и возможность всласть поторговаться с таксистом о цене проезда. Торг между Петей и таксистами всегда происходит по одному и тому же сценарию:
— Мне в аэропорт, заплачу 150 рублей.
— Нет, за 150 не повезу, поехали за 1000.
— Да ты что?! У меня и нет столько! Согласен за 200.
— Ты смеешься? Давай хотя бы за 900.
— Ну хорошо, дам 250.
— Да ты хоть знаешь, сколько бензин стоит? 800 и поехали!

Этот диалог продолжается до тех пор, пока они не сойдутся в цене. Петя всегда увеличивает свою цену на одну и ту же сумму, а таксист таким же образом снижает ее. Таксист не станет называть цену ниже той, которую предложит Петя. В этом случае он согласится с его ценой. Аналогичным образом поступит и Петя. Исходные данные В единственной строке даны 4 целых числа: a — стартовая цена Пети, b — надбавка Пети к своей цене, c — стартовая цена таксиста, d — скидка таксиста к своей цене (1 ≤ abcd ≤ 10000). Результат Выведите сумму, которую Петя заплатит за проезд. Пример исходные данныерезультат 150 50 1000 100 450  
В результате Петя добьется своего.
a+b=c+d
Заплатил 450

.

  • Tlalok
  • почетный грамотей
2013-03-05T10:14:29+00:00

var
   a, b, c, d:integer;
begin
   write('a = ');
   readln(a);
   write('b = ');
   readln(b);
   write('c = ');
   readln(c);
   write('d = ');
   readln(d);

 

   while true do
   begin
      if a < c then
      begin
         a := a + b;
         if a < c then
            c := c - d
         else
         begin
             writeln(' R = ', c);
             break;
        end;

      end
      else
      begin
         writeln('R = ', a);
         break;
      end;
   end;
   readln;
end.