Определить, удастся ли перевезти всех детей и взрослых на автобусе - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Для заезда в оздоровительный лагерь организаторы решили заказать автобусы. Известно, что в лагерь собираются поехать N детей и M взрослых. Каждый автобус вмещает K человек. В каждом автобусе, в котором поедут дети, должно быть не менее двух взрослых. Определите, удастся ли отправить в лагерь всех детей и взрослых, и если да, то какое минимальное количество автобусов требуется для этого заказать. У меня решение есть, но говорят что неправильное:
Листинг программы
  1. program Avtobus;
  2. var
  3. {n - children}
  4. {m - grownups}
  5. {k - maximal people in a bus}
  6. n, m, k, avtobuses:integer;
  7. begin
  8. Readln(n,m,k);
  9. avtobuses:= (m+n) div K;
  10. if (m mod 2)=1 then inc(avtobuses);
  11. if avtobuses <= (M div 2) then Writeln(avtobuses)
  12. else Writeln(0);
  13. end.

Решение задачи: «Определить, удастся ли перевезти всех детей и взрослых на автобусе»

textual
Листинг программы
  1. program Avtobus;
  2. var
  3.  {n - children}
  4.  {m - grownups}
  5.  {k - maximal people in a bus}
  6.  n, m, k:integer;
  7. begin
  8.  Readln(n,m,k);
  9. if (m div 2)*k<2*(m div 2)+n then writeln ('No solution')else writeln((m+n+k-1)div k);
  10. end.

Объяснение кода листинга программы

  1. Объявлены три переменные: n - количество детей, m - количество взрослых, k - максимальное количество людей в автобусе.
  2. Ввод значений переменных с помощью функции Readln.
  3. Если (m div 2)k<2(m div 2)+n то выводится сообщение No solution.
  4. Иначе выводится количество людей, которое можно перевезти на автобусе ((m+n+k-1)div k).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы