Исполнитель Олень получает число и строит по нему новое число следующим образом:
- Строится двоичная запись числа
.
- Вместо последней двоичной цифры дважды записывается вторая слева цифра двоичной записи.
- Результат переводится в десятичную систему.
Полученная таким образом запись (в ней на один разряд больше, чем в записи исходного числа ) является двоичной записью искомого числа
.
Укажите такое наименьшее число , для которого Олень получит число, большее, чем
. В ответе это число запишите в десятичной системе счисления.
Переведем . Последние 2 цифры не совпадают с второй слева цифрой, получается ищем следующее.
Переведем . Также не совпадает.
Переведем . Вторая слева и последние 2 совпадают. Обрубаем последние.
. Сейчас также нам не хватает обрубленной цифры, и чтобы вышло наименьшее N нужно взять 0.
.
Решение №2
for i in range(2, 1000):
s = bin(i)[2:]
s = s[:len(s) - 1] + s[1] * 2
if int(s, 2) > 177:
print(i)
break