Определить, можно ли перелететь через пропасть - Turbo Pascal

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

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

Добрый вечер! Помогите, пожалуйста, решить задачу: На пути вашего героя встретилась пропасть шириной s метров. До ближайшего моста идти очень и очень долго, поэтому вы решаете перелететь через нее. Для героя единственный способ летать — выпить зелье левитации. Одна выпитая бутылочка зелья позволяет лететь в течении k секунд со скоростью v м/c. К несчастью, самого зелья у героя с собой нет, зато есть рецепт зелья,все необходимые для его изготовления приборы и какие-то ингредиенты. Из рецепта известно, что для приготовления зелья левитации нужно n ингредиентов, причем i-го ингредиента нужно ai штук. У героя же есть bi этого ингредиента. По необходимому и имеющемуся количеству каждого из ингредиентов определите, сможет ли герой сварить достаточно зелья, чтобы перелететь через пропасть, или же придется все-таки идти в обход? Входные данные В первой строчке идет число s — ширина пропасти. Затем на этой же строчке даны числа k и v – сколько секунд и с какой скоростью позволяет лететь одна выпитая бутылочка зелья. Во второй строчке дано число n ≤ 100. Дальше идут n строчек. В каждой из них записаны два числа: ai > 0 — сколько порций i-го ингредиента необходимо для изготовления одной бутылочки и bi ≥ 0 — сколько порций этого ингредиента есть у героя. Выходные данные Если герой сможет перелететь через пропасть, выведите "YES", иначе выведите "NO" (без кавычек). Примеры: Входные данные: 1 1 1 2 1 1 2 2 Выходные данные: YES Входные данные: 1 1 1 2 1 1 2 1 Выходные данные: NO
Разобрался. Может, кому-то поможет
Листинг программы
  1. var
  2. n,a,b,i,s,k,v: integer;
  3. z:real;
  4. begin
  5. read(s,k,v);
  6. z:=s/(k*v);
  7. readln(n);
  8. for i := 1 to n do
  9. readln(a,b);
  10. if b>=a*z then
  11. writeln('YES')
  12. else writeln('NO');
  13. end.

Решение задачи: «Определить, можно ли перелететь через пропасть»

textual
Листинг программы
  1. for i := 1 to n do
  2.   readln(a,b);
  3.   if b>=a*z then
  4.   writeln('YES')
  5.   else writeln('NO');

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

  1. В цикле for перебираются значения переменной i от 1 до n.
  2. Для каждого значения i считывается значение переменных a и b с помощью функции readln.
  3. Проверяется условие b>=a*z.
  4. Если условие выполняется, то выводится строка 'YES'.
  5. Если условие не выполняется, то выводится строка 'NO'.

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


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

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

11   голосов , оценка 3.909 из 5

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

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

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