


Помогите пожалуйста! Олимпиада по информатике! Язык программирования Python
Задача D. Капитал
В первый день каникул у Буратино была одна золотая монета. Каждый
день Буратино выбирал одно из двух:
• утром посадить все свои монеты на Поле Чудес, а вечером снять с
выросших деревьев урожай: в два раза больше монет, чем было утром;
• пойти на весь день в Харчевню Трёх Пескарей, потратив там одну монету.
Известно, что сегодня у Буратино n золотых монет. Какое минимальное
количество дней могло пройти с начала каникул?
Формат входных данных
В первой строке записано целое число n — количество монет у Буратино
(1 6 n 6 109
).
Формат выходных данных
В первой строке выведите одно целое число: минимальное возможное количество дней, прошедших с начала каникул.
Для решения этой задачи мы можем использовать цикл и увеличивать количество дней, пока у Буратино есть хотя бы одна монета. На каждом шаге мы будем принимать одно из двух решений: утром посаживать монеты на Поле Чудес или идти в Харчевню Трёх Пескарей. Мы будем повторять этот процесс до тех пор, пока у Буратино есть монеты.
Вот пример кода на Python:
```python
def minimum_days(n):
days = 0
while n > 0:
if n % 2 == 0:
n //= 2 # Посадить монеты на Поле Чудес
else:
n -= 1 # Пойти в Харчевню Трёх Пескарей
days += 1
return days
# Чтение входных данных
n = int(input())
# Вывод результата
print(minimum_days(n))
```
Этот код определяет функцию `minimum_days`, которая принимает количество монет `n` и возвращает минимальное количество дней, прошедших с начала каникул. После этого мы считываем входные данные и выводим результат.