Алгоритм получает на вход натуральное число 1 » class=»math» src=»/images/inform/quest/quest-3256-1.svg» width=»auto»> и строит по нему новое число
следующим образом:
- Строится двоичная запись числа
.
- В конец записи (справа) дописывается конъюнкция двух правых крайних цифр двоичной записи числа
.
- В конец записи (справа) дописывается конъюнкция двух левых крайних цифр двоичной записи числа
.
- Результат переводится в десятичную систему.
Пример. Дано число . Алгоритм работает следующим образом:
- Двоичная запись числа
.
- Конъюнкция двух правых крайних цифр
, новая запись
.
- Конъюнкция двух левых крайних цифр
, новая запись
.
- Результат работы алгоритма
.
При каком наименьшем числе в результате работы алгоритма получится
55 » class=»math» src=»/images/inform/quest/quest-3256-14.svg» width=»auto»>? В ответе запишите это число в десятичной системе счисления.
for i in range(2, 10000):
s = bin(i)[2:]
s += str(int(s[-2]) & int(s[-1]))
s += str(int(s[0]) & int(s[1]))
if int(s, 2) > 55:
print(i)
break
Ответ: 14