666 подписчиков
🌟 12 задание Информатика ЕГЭ задача № 8425 с сайта Полякова К.Ю.
Условие задачи 😳
------------------------
На ленте исполнителя МТ в соседних ячейках записано двоичное представление целого положительного числа без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа от последовательности ячейке. Программа для исполнителя:
λ 0 1
q0 λ, L, q1 - -
q1 λ, S, q1 1,L, q1 0,L, q1
Команды движения каретки: L – влево, R – вправо, N – отсутствие сдвига, S – стоп. После выполнения программы на ленте оказалась двоичная запись числа 156. Определите десятичное значение наибольшего числа, меньшего, чем 10000, которое могло быть записано на ленте до начала работы программы.
Код на python:
for i in range(9999, 0, -1):
s = bin(i)[2:]
# инвертируем строку
s2 = ''.join('1' if t == '0' else '0' for t in s)
if int(s2, 2) == 156:
print(i)
break
Код на PascalABC.NET:
RAnge(9999,1,-1)
.Where(s->dec(bin(s).Select(t->t='0'?'1':'0').joinToString,2) = 156)
.first
.print;
✨Ответ: 8035
Около минуты
16 февраля