Untitled

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

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

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

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

Вариант 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: через замену строки

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

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

  1. создаем нашу строку
  2. ПОКА нашлась подстрока “11” цикл while будет выполнять действия
  3. в таком случае заменим подстроку ”111” на ”22” именно 1 раз
  4. в таком случае заменим подстроку ”222” на ”11” именно 1 раз
  5. выводим нашу изменённую строку