Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 12. Информатика. ЕГЭ 2026. Крылов. Вариант 6
- Просмотры: 1048
- Изменено: 28 ноября 2025
На ленте в соседних ячейках записана последовательность из \(350\) символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «\(\lambda\)». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.
Программа работы исполнителя:
| \(\lambda\) | \(1\) | \(0\) | |
| \(q_0\) | \(\lambda , \, L, \, q_1\) | ||
| \(q_1\) | \(\lambda , \, S, \, q_1\) | \(0, \, L, \, q_1\) | \(1, \, L, \, q_1\) |
После выполнения программы на ленте осталось ровно \(100\) нулей. Определите число нулей в исходной последовательности.
Решение:
Исполнитель заменяет нули на единицы, а единицы на нули. Значит, в исходной последовательности было \(100\) единиц и \(350-100 = 250\) нулей. Проверяем программно:
Python
com = {'l': {'q0': 'l,L,q1', 'q1': 'l,S,q1'},
'1': {'q1': '0,L,q1'},
'0': {'q1': '1,L,q1'}}
step = {'L': -1, 'R': 1, 'S': 0}
s = ['l'] + ['1'] * 100 + ['0'] * 250 + ['l']
print('Нулей в исходной строке', s.count('0'))
p = len(s) - 1
state = 'q0'
ch, act, st = com[s[p]][state].split(',')
s[p] = ch
state = st
p += step[act]
while act != 'S':
ch, act, st = com[s[p]][state].split(',')
s[p] = ch
state = st
p += step[act]
print('Нулей в конечной строке', s.count('0'))
Ответ: \(250\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


