Вопрос задан 29.07.2023 в 10:56. Предмет Информатика. Спрашивает Губарев Олег.

Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день

на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста? Входные данныеПрограмма получает на вход натуральные числа h, a, b. Гарантируется, что a>b.Выходные данныеПрограмма должна вывести одно натуральное число.Примерывходные данные1032выходные данные8входные данные2073выходные данные5Решить на С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Танасюк Дарья.
Код прикрепил скриншотом.
Немного про алгоритм:
Прибавляем a в отдельную переменную.
Если это переменная больше или равна h, мы завершаем цикл и выводим наш счётчик.
Если нет, то отнимаем от переменной b, и начинаем проводить эти действия заново.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на C++, можно использовать следующий код:

cpp
#include <iostream> int main() { int h, a, b; std::cin >> h >> a >> b; int days = (h - a - 1) / (a - b) + 2; std::cout << days << std::endl; return 0; }

Объяснение решения:

  • Первый день улитка поднимется на a метров (высота станет h - a).
  • После этого она будет подниматься на a - b метров каждый день (за день поднимается на a метров, а за ночь спускается на b метров).
  • Улитка достигнет вершины шеста, когда общая пройденная высота будет больше или равна h.
  • Общая пройденная высота за days дней можно описать выражением (a - b) * (days - 1) + a. Здесь (days - 1) учитывает первый день, в котором улитка поднялась на a метров.
  • Решив уравнение (a - b) * (days - 1) + a >= h, мы найдем значение days.

Примечание:

  • При решении данной задачи предполагается, что улитка ползет только вверх и не опускается ниже земли. Таким образом, a должно быть больше b, чтобы гарантировать движение вверх. Если a <= b, улитка никогда не доползет до вершины.
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос