e-olymp 1452. Кролики

Задача взята с сайта e-olymp.

Задача

Как-то наконец земляне нашли обитаемую планету, назвали ее ТТВ, и отправили вместе с кораблем туда одного кролика. Кролику понравился климат новой планеты и через месяц он произвел на свет еще одного кролика. Известно, что каждый месяц каждый кролик, присутствующий на планете, производил на свет еще одного кролика. На планете откуда-то взялся монстр, который в начале месяца съедал [latex] k [/latex] кроликов, если только их становилось строго больше [latex] k [/latex]. В задаче необходимо определить количество кроликов, которое будет на планете через [latex] n [/latex]месяцев после прибытия туда космического корабля с первым кроликом.

Входные данные

Первая строка содержит количество месяцев [latex] n [/latex] [latex] (0 ≤ n ≤ 100) [/latex], вторая — число кроликов [latex] k [/latex] [latex]  (0 ≤ k ≤ 10000) [/latex], которое съедал монстр.

Выходные данные

Определить количество кроликов, которое будет находиться на планете ТТВ через [latex] n [/latex] месяцев после поселения туда первого кролика. Известно, что результат для любого теста всегда не больше [latex] 2 \cdot 10^9 [/latex].

Тесты

#

Входные данные

Выходные данные

1

0

10

1

2

1

10

2

3

7

128

128

4

5

10

12

5

30

0

1073741824

Код

Решение

Известно, что изначально на планете был один кролик. Создадим цикл, который будет высчитывать популяцию кроликов на планете через [latex] n [/latex] месяцев после прибытия. Цикл будет работать до тех пор, пока количество месяцев будет больше нуля. В нем будем высчитывать популяцию кроликов по простой формуле [latex] r = r \cdot 2 [/latex], где [latex] r [/latex] — количество кроликов. Если же количество кроликов, съедаемых монстром в начале месяца строго больше того количества, которое уже есть на планете, то от этой популяции отнимем [latex]  k [/latex]кроликов : [latex] r = r[/latex] $-$ [latex] k [/latex]. Внутри цикла также не забываем от данного количества [latex] n [/latex] месяцев отнимать по одному каждый раз.

Ссылки

Засчитанное решение на e-olymp.

Код в ideone.

2 thoughts on “e-olymp 1452. Кролики

    • Лучше делать n-- при проверке условия в заголовке цикла. А еще лучше вообще его не трогать а сделать цикл со счётчиком. Почему? Мы ведь знаем, что это число месяцев. В какой-то момент можно забыть что мы его испортили и начать с ним работать. как с числом месяцев. В этой программе, конечно, это не важно. Но в реальном программировании изменение переменных в которых переданы условия задачи приводит к трудно отыскиваемым ошибкам.
    • Вы сделали задачу с циклами. Нужно сделать теперь ещё один вариант решения, без операторов цикла.
    • Укажите метки (ключевые слова).

Добавить комментарий