#1-27 номера ЕГЭ по информатике
March 15, 2023

Разбор теории для 1️⃣2️⃣-го номера ЕГЭ по информатике 2023 года  

Условие: Тип 12 № 33091

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 101 единицы?

НАЧАЛО
	ПОКА нашлось (111)
		заменить (111, 22)
		заменить (222, 11)
	КОНЕЦ ПОКА
КОНЕЦ

Вариант 1: решение через функцию

Комментарии к первому варианту решения задачи:

  1. создаем функцию, которая будет принимать и обрабатывать нашу строку
  2. ПОКА нашлась подстрока “111” цикл while будет выполнять действия
  3. в таком случае заменим подстроку ”111” на ”22” именно 1 раз
  4. в таком случае заменим подстроку ”222” на ”11” именно 1 раз
  5. когда цикл заканчивается возвращаем полученную строку
  6. вызываем функцию и передаем ей строку, которая дана в условии
# Код решения Вариант 1
def F(s):
    while '111' in s :
        s = s.replace('111', '22', 1)
        s = s.replace('222', '11', 1)
    return s
print(F('1'* 101))

Вариант 2: через замену строки

Комментарии ко второму варианту решения задачи:

  1. создаем нашу строку
  2. ПОКА нашлась подстрока “11” цикл while будет выполнять действия
  3. в таком случае заменим подстроку ”111” на ”22” именно 1 раз
  4. в таком случае заменим подстроку ”222” на ”11” именно 1 раз
  5. выводим нашу изменённую строку
# Код решения Вариант 2
s = '1' * 101
while '111' in s:
    s = s.replace('111', '22', 1)
    s = s.replace('222', '11', 1)
print(s)

Ответ:112