Определить, на какой день улитка доползёт до вершины шеста? - Free Pascal

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

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

Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста? Программа получает на вход натуральные числа h, a, b и должна вывести одно натуральное число. Гарантируется, что a>b. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. ---------------------------- Как решить эту задачу без конструкции if? С ней легко, а без нее как? Не говорите мне, что это легкая задача. Дайте мне работающий код. В гугл не посылать, решения либо абсурдно легкие(h div (a-b), что, очевидно, неверно), либо слишком сложные, но в тоже время не выдающие правильные ответы.

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

textual
Листинг программы
  1. #include <iostream>
  2. using namespace std;
  3. int main () {
  4. int h,a,b,s;
  5.         cin>>h>>a>>b;
  6.         s=a-b;
  7.  
  8.         cout<<((h-a)+s-1)/s+1;
  9.  
  10.  // (h-a)+s-1)/s  -  средняя скорость улитки
  11.  // h-a это последний день когда улитка не спусклась
  12.  // т.е среднюю скорость находим не от 10 метров а от 7 метров
  13.  // 7/1 но так как входные данные могут быть другими, нужно округление вверх (x+y-1)/y
  14.  // +1 это наш последний день (h-a)
  15. }

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

  1. В начале программы объявляются переменные h, a, b и s, в которые будут сохраняться значения, введенные пользователем.
  2. Затем эти переменные инициализируются с помощью функции cin.
  3. Переменная s вычисляется как разность a и b.
  4. Далее выводится результат вычисления (h-a)+s-1)/s+1 с помощью функции cout.
  5. В комментариях приведены формулы для расчета средней скорости улитки и последнего дня, когда улитка не поползла вниз.
  6. (h-a)+s-1)/s - это средняя скорость улитки, которую мы получаем, округляя вниз.
  7. h-a - это последний день, когда улитка не поползла вниз.
  8. (h-a)+s-1)/s+1 + 1 - это наш последний день, на который мы хотим узнать, когда улитка доползет до вершины шеста.

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


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

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

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

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

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

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