Мартышка карабкается по банановому дереву, каждый день поднимаясь на расстояние
a метров, но каждую ночь опускаясь на расстояние b метров. Если высота дерева составляет
h метров, то на какой день мартышка доберется до вершины, на которой растут бананы?
Формат входных данных
Даны три натуральных числа a, b, c, по одному числу на строке. Числа не превосходят 10 ** 9. Гарантируется, что a > b.
Формат результата
Выведите одно натуральное число — ответ на задачу.
Давайте разберемся с задачей по шагам.
**Задача:**
Мартышка карабкается по дереву: за день она поднимается на 'a' метров, а за ночь опускается на 'b' метров. Высота дерева — 'h'. Нужно найти день, когда мартышка достигнет вершины или превысит ее.
---
### Анализ ситуации:
- В течение первого дня мартышка поднимается на 'a' метров.
- Каждую ночь она спускается на 'b' метров, кроме, когда достигнет вершины.
- Важное ограничение: один раз достигнув вершины, более спусков не происходит.
---
### Решение логики:
1. В конце каждого полного дня, кроме последнего, мартышка оказывается на уровне:
\[
\text{день} \times (a - b)
\]
но так как она за день поднимается на 'a', а за ночь опускается на 'b' (кроме последнего дня, когда она достигнет вершины),
на практике, за один день она поднимается на 'a' метров, а за ночь — теряет 'b'.
2. **Общий случай:**
- Если высота 'h' меньше или равна 'a', то уже в первый день она доберется до вершины.
- Если 'h' больше 'a', нужно понять, через сколько дней она достигнет или превысит 'h'.
3. **Формула и расчет:**
- В предпоследние дни, мартышка достигает высоты, которая меньше 'h' на сумму `(a - b)` метров за день, и только в последний день она достигнет вершины, когда поднимется на 'a' метров.
---
### Итоговая формула:
- Если 'h' ≤ 'a', то ответ — 1 день.
- Иначе нужно найти минимальное число дней 'n', при котором:
\[
(n - 1) \times (a - b) + a \geq h
\]
то есть:
\[
n - 1 \geq \frac{h - a}{a - b}
\]
\[
n \geq \frac{h - a}{a - b} + 1
\]
И тогда:
\[
n = \left\lceil \frac{h - a}{a - b} \right\rceil + 1
\]
— где \(\lceil x \rceil\) — округление вверх.
---
### Реализация:
```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))
# Общий ответ — days_needed + 1
print(days_needed + 1)
```
---
### Объяснение:
- Если высота 'h' меньше или равна 'a', то мартышка достигает вершины за первый день.
- Если больше, то остаемся с формулой: сколько полных дней потребуется, чтобы достигнуть или превысить 'h' с учетом ночных опусканий.
Эта программа даст точный ответ на задачу для любых допустимых значений 'a', 'b', и 'h'.