(И. Карпачёв) На ленте исполнителя МТ в соседних ячейках записана последовательность из \(593\) символов, состоящей из двоек, троек и семёрок, расположенных в произвольном порядке. Ячейки справа и слева от последовательности заполнены пустыми символами «\(\lambda\)». В начальный момент времени головка находится в ближайшей ячейке справа от последовательности.
Программа работы исполнителя:
| \(\lambda\) | \(2\) | \(3\) | \(7\) | |
| \(q_0\) | \(\lambda , \, L, \, q_1\) | |||
| \(q_1\) | \(\lambda , \, S, \, q_1\) | \(7 , \, L, \, q_2\) | \(7 , \, L, \, q_2\) | \(7, \, L, \, q_2\) |
| \(q_2\) | \(\lambda , \, S, \, q_2\) | \(3 , \, L, \, q_3\) | \(3 , \, L, \, q_3\) | \(3, \, L, \, q_3\) |
| \(q_3\) | \(\lambda , \, S, \, q_3\) | \(2 , \, L, \, q_1\) | \(2, \, L, \, q_1\) | \(2, \, L, \, q_1\) |
Команды движения каретки: \(L\) – влево, \(R\) – вправо, \(N\) — нет перемещения, \(S\) – стоп. Определите количество цифр \(7\) в последовательности, полученной после выполнения программы.
Решение:
На первом шаге исполнитель разместит в ячейке число \(7\) вне зависимости от того, какая там цифра до этого была там записана, на втором шаге будет записана в следующую ячейку цифра \(3,\) на третьем — цифра \(2\) и т.д. Т.е., количество семёрок, которое появится в конечной строке, будет равно \(\left\lceil \cfrac{593}{3} \right\rceil = 198.\)
Проверяем программно
Python
from random import choice
mt = {'l': {'q0': 'l,L,q1', 'q1': 'l,S,q1', 'q2': 'l,S,q2', 'q3': 'l,S,q3'},
'2': {'q1': '7,L,q2', 'q2': '3,L,q3', 'q3': '2,L,q1'},
'3': {'q1': '7,L,q2', 'q2': '3,L,q3', 'q3': '2,L,q1'},
'7': {'q1': '7,L,q2', 'q2': '3,L,q3', 'q3': '2,L,q1'}}
step = {'L': 1, 'S': 0}
state = 'q0'
nums = '237237237'
s = ['l']
for _ in range(593):
s.append(choice(nums))
s.append('l')
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(s.count("7"))
Ответ: \(198\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене