Информатика. ЕГЭ

Задание 12. Информатика. ЕГЭ. Поляков-8274

Просмотры: 1938
Изменено: 25 сентября 2025

(В. Шубинкин) На ленте исполнителя МТ в соседних ячейках записана последовательность из \(1000\) символов, включающих только нули и единицы. Известно, что в этой последовательности \(985\) единиц. Ячейки справа и слева от последовательности заполнены пустыми символами «\(\lambda\)». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от последовательности.

Программа работы исполнителя:

\(\lambda\)\(0\)\(1\)
\(q_0\)\(\lambda , \, L, \, q_0\)\(1 , \, L, \, q_0\)\(\lambda , \, L, \, q_1\)
\(q_1\)\(\lambda , \, R, \, q_2\)\(1, \, L, \, q_0\)\(\lambda, \, L, \, q_1\)
\(q_2\)\(1 , \, S, \, q_0\)\(1, \, S, \, q_0\)\(1, \, S, \, q_1\)

Команды движения каретки: \(L\) – влево, \(R\) – вправо, \(N\) — нет перемещения, \(S\) – стоп. Все полученные после выполнения программы непрерывные последовательности из нолей и единиц рассматриваются как двоичные числа. Определите, какое наибольшее число могло получиться. В ответе запишите это число в десятичной системе счисления.

Решение:

Исполнитель может закончить работу только в состоянии \(q_2.\) А попасть в него он может только находясь в состоянии \(q_1\) при считывании пустого символа. Это возможно только после прохождения справа налево всех непустых символов. Кроме того самый левый непустой символ не может быть нулём, иначе программа уйдёт в бесконечный цикл. Наконец, чтобы получить максимальное число, все \(15\) нулей должны идти подряд. В итоге получим строку из \(16\) подряд идущих единиц, а \(1111111111111111_2 = 65535_{10}.\)

Тест на программе

Python


mt = {'l': {'q0': 'l,L,q0', 'q1': 'l,R,q2', 'q2': '1,S,q0'},
      '0': {'q0': '1,L,q0', 'q1': '1,L,q0', 'q2': '1,S,q0'},
      '1': {'q0': 'l,L,q1', 'q1': 'l,L,q1', 'q2': '1,S,q1'}}
step = {'L': 1, 'R': -1, 'S': 0, 'N': 0}
state = 'q0'
s = ['l'] * 10 + ['1'] + ['0'] * 15 + ['1'] * 984 + ['l'] * 10
p = len(s) - 1

s[p], m, state = mt[s[p]][state].split(',')
while m != 'S':
    p -= step[m]
    s[p], m, state = mt[s[p]][state].split(',')
print(int(''.join(x for x in s if x != 'l'), 2))

Ответ: \(65535\)

Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года