Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 09 июля 2025 16:44

Мартышка карабкается по банановому дереву, каждый день поднимаясь на расстояние a метров, но каждую ночь опускаясь на расстояние b метров. Если высота дерева составляет h метров, то на какой день мартышка доберется до вершины, на которой растут бананы? Формат входных данных Даны три натуральных числа a, b, c, по одному числу на строке. Числа не превосходят 10 ** 9. Гарантируется, что a > b. Формат результата Выведите одно натуральное число — ответ на задачу.

Ответ нейросети

09 июля 2025 16:44

Давайте подробно разберём задачу и найдём решение.

Условия задачи:

  • Мартышка карабкается по дереву высотой h метров.
  • Каждый день она поднимается на a метров.
  • Каждую ночь опускается на b метров.
  • При этом, утверждается, что a > b, то есть за день она в итоге поднимается выше, чем спускается ночью.

Что нужно найти?
— Номер дня, когда мартышка впервые достигнет вершины дерева или превысит её.


Анализ задачи

За один полный цикл (один день + одна ночь), мартышка поднимается на (a - b) метров, если она не достигла вершины раньше.

Но важный момент: если она достигнет вершины или превысит её во время подъёма, она не будет спускаться.


Подход к решению

  1. За каждый день, кроме, возможно, последнего, она "чисто" поднимается на (a - b) метров.
  2. В последний день, если мартышка сможет достичь вершины на подъёме, то она завершает свой путь и не перемещается дальше.

Пошаговое решение

  1. Обнаружим, за сколько дней она приблизится к вершине, чтобы на следующий день уже достигнуть или превысить h.

  2. Что если учитывать, что на последнем подъёме она может достичь вершины до того, как опустится за ночь?
    — Тогда она достигнет вершины, когда её подъём на текущий день приведёт её на или выше уровня h.


Формула

  • Если на тот день, когда мартышка достигнет вершины, это произойдёт, значит:

[ \text{положение в начале дня} + a \geq h ]

  • Где "положение в начале дня" — это высота, достигнутая на конец предыдущего дня.

  • В конце предыдущего дня: после (k-1) полных дней, высота составляет:

[ (k - 1) \times (a - b) ]

(предполагаем, что не достигли вершины за предыдущие дни).

  • Тогда на следующем, k-м, день, мартышка поднимается на a метров:

[ (k - 1) \times (a - b) + a \geq h ]

  • Выразим из этого выражения:

[ (k - 1) \times (a - b) + a \geq h ]

  • Решим относительно k:

[ (k - 1) \times (a - b) \geq h - a ]

  • Тогда:

[ k - 1 \geq \frac{h - a}{a - b} ]

  • ( k ) — целое число, значит, берём округление вверх (ceil):

[ k = \left\lceil \frac{h - a}{a - b} \right\rceil + 1 ]

Обратите внимание:
— Если ( h \leq a ), то мартышка достигнет вершины уже в первый день, и ответ — 1.


Итоговая формула

[ \text{Ответ} = \begin{cases} 1, & \text{если } h \leq a \ \left\lceil \frac{h - a}{a - b} \right\rceil + 1, & \text{иначе} \end{cases} ]


Реализация

Теперь приведем пример кода, который считает день, когда мартышка доберется до вершины, исходя из входных данных:

import math

a = int(input().strip())
b = int(input().strip())
h = int(input().strip())

if h <= a:
    # Мартышка достигает вершины в первый день
    print(1)
else:
    # Расчёт числа дней по формуле
    days_needed = math.ceil((h - a) / (a - b))
    print(days_needed + 1)

Если есть вопросы или нужно более подробно объяснить — скажите!

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

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

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Мартышка карабкается по банановому дереву, каждый день поднимаясь на расстояние a метров, но каждую ночь опускаясь на расстояние b метров. Если высота дерева составляет h метров, то на какой день мартышка доберется до вершины, на которой растут бананы? Формат входных данных Даны три натуральных числа a, b, c, по одному числу на строке. Числа не превосходят 10 ** 9. Гарантируется, что a > b. Формат результата Выведите одно натуральное число — ответ на задачу.
Давайте подробно разберём задачу и найдём решение. **Условия задачи:** - Мартышка карабкается по дереву высотой h метров. - Каждый день она поднимается на a метров. - Каждую ночь опускается на b метров. - При этом, утверждается, что a > b, то есть за день она в итоге поднимается выше, чем спускается ночью. **Что нужно найти?** — Номер дня, когда мартышка впервые достигнет вершины дерева или превысит её. --- ### Анализ задачи За один полный цикл (один день + одна ночь), мартышка поднимается на `(a - b)` метров, если она не достигла вершины раньше. Но важный момент: если она достигнет вершины или превысит её во время подъёма, она не будет спускаться. --- ### Подход к решению 1. За каждый день, кроме, возможно, последнего, она "чисто" поднимается на `(a - b)` метров. 2. В последний день, если мартышка сможет достичь вершины на подъёме, то она завершает свой путь и не перемещается дальше. ### Пошаговое решение 1. Обнаружим, за сколько дней она приблизится к вершине, чтобы на следующий день уже достигнуть или превысить h. 2. Что если учитывать, что на последнем подъёме она может достичь вершины до того, как опустится за ночь? — Тогда она достигнет вершины, когда её подъём на текущий день приведёт её на или выше уровня h. --- ### Формула - Если на тот день, когда мартышка достигнет вершины, это произойдёт, значит: \[ \text{положение в начале дня} + a \geq h \] - Где "положение в начале дня" — это высота, достигнутая на конец предыдущего дня. - В конце предыдущего дня: после `(k-1)` полных дней, высота составляет: \[ (k - 1) \times (a - b) \] (предполагаем, что не достигли вершины за предыдущие дни). - Тогда на следующем, k-м, день, мартышка поднимается на a метров: \[ (k - 1) \times (a - b) + a \geq h \] - Выразим из этого выражения: \[ (k - 1) \times (a - b) + a \geq h \] - Решим относительно k: \[ (k - 1) \times (a - b) \geq h - a \] - Тогда: \[ k - 1 \geq \frac{h - a}{a - b} \] - \( k \) — целое число, значит, берём округление вверх (ceil): \[ k = \left\lceil \frac{h - a}{a - b} \right\rceil + 1 \] **Обратите внимание:** — Если \( h \leq a \), то мартышка достигнет вершины уже в первый день, и ответ — 1. --- ### Итоговая формула \[ \text{Ответ} = \begin{cases} 1, & \text{если } h \leq a \\ \left\lceil \frac{h - a}{a - b} \right\rceil + 1, & \text{иначе} \end{cases} \] --- ### Реализация Теперь приведем пример кода, который считает день, когда мартышка доберется до вершины, исходя из входных данных: ```python import math a = int(input().strip()) b = int(input().strip()) h = int(input().strip()) if h <= a: # Мартышка достигает вершины в первый день print(1) else: # Расчёт числа дней по формуле days_needed = math.ceil((h - a) / (a - b)) print(days_needed + 1) ``` --- Если есть вопросы или нужно более подробно объяснить — скажите!