eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

И снова цепочка

И снова цепочка

Рассмотрим цепочку, состоящую из \textbf{N }колец. Какое минимальное количество колец необходимо расцепить, чтобы из оставшихся кусков можно было собрать цепочки любой длины от \textbf{1 }до \textbf{N }колец? При создании новых цепочек можно использовать расцепленные кольца. \includegraphics{https://static.e-olymp.com/content/f2/f2863deb6d07a2bb4e75f40a392dc3572457f3bb.jpg} Например, при \textbf{N = 21}, достаточно расцепить всего \textbf{2 }кольца таким образом, чтобы получились куски длинной \textbf{3}, \textbf{5 }и \textbf{11}. Два расцепленных кольца считаются кусками единичной длины. Напишите программу, которая по натуральному числу \textbf{N }-- длине исходной цепочки, находит минимальное количество колец, которые необходимо расцепить для достижения описанной цели. \InputFile Одно целое число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^9}). \OutputFile Вывести одно целое число - найденное минимальное количество колец.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
21
Выходные данные #1
2
Автор Андрей Стасюк
Источник 2007 XX Всеукраинская олимпиада по информатике, Кременчуг, Апрель 10 - 16, тур 1