Версия для печати
Убрать все задачи
На острове живут рыцари, лжецы и подпевалы; каждый знает про всех, кто из них кто. В ряд построили всех 2018 жителей острова и попросили каждого ответить "Да" или "Нет" на вопрос: "На острове рыцарей больше, чем лжецов?". Жители отвечали по очереди и так, что их слышали остальные. Рыцари отвечали правду, лжецы лгали. Каждый подпевала отвечал так же, как большинство ответивших до него, а если ответов "Да" и "Нет" было поровну, давал любой из этих ответов. Оказалось, что ответов "Да" было ровно 1009. Какое наибольшее число подпевал могло быть среди жителей острова?

Решение
Функция f (0) для целых неотрицательных n определена так: f
(0) = 0, f (1) = 1, f (2n) = f (n), f (2n + 1) = f (n) + f (n + 1). Для данного
N найти и напечатать f (N). Обязательное условие: N столь велико, что
недопустимо заводить массив из N чисел ( равно как и массив, длина которого
растет с ростом числа N ).

Решение