Задача к ЕГЭ по информатике на тему «исполнитель «редактор» – известная строка» №10

Исполнитель Редактор получает на вход строку символов и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

Цикл

   ПОКА условие

      последовательность команд

   КОНЕЦ ПОКА

выполняется, пока условие истинно.

Дана программа для редактора:

НАЧАЛО

   ПОКА нашлось(AB)

      заменить(A, BB)

      заменить(B, CCC)

      заменить(CCCCC, AB)

   КОНЕЦ ПОКА

КОНЕЦ

Сколько раз встретится буква C в строке, полученной после выполнения алгоритма выше для строки состоящей из последовательности букв ABC повторяющейся 30 раз? В ответ укажите только число.

Для решения этого задания напишем программу:

# Создаем исходную строку
 
s = ’ABC’ * 30
 
# Аналог пока нашлось(AB)
 
while ’AB’ in s:
 
    # Проводим замену по одному разу
 
    s = s.replace(’A’, ’BB’, 1)
 
    s = s.replace(’B’, ’CCC’, 1)
 
    s = s.replace(’CCCCC’, ’AB’, 1)
 
print(s.count(’C’)) # Вывод количества символов С в строке

Ответ: 62
Оцените статью
Я решу все!