Найти в Дзене

Разбор номера 27299 ЕГЭ по информатике #12

Оглавление

Условие: № 27299
Статья подготовлена командой itpy, подписывайтесь на наш телеграм канал!

К исходной строке, содержащей более 60 единиц и не содержащей других символов, применили приведённую выше программу.

В результате получилась строка 221. Какое наименьшее количество единиц могло быть в исходной строке?

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

Вариант 1: решение через функцию
Вариант 1: решение через функцию
# Код решения Вариант 1
def F(s):
while '111' in s:
s = s.replace('111', '2', 1)
s = s.replace('222', '1', 1)
return s

for x in range(60, 100):
if F('1' * x) == '221':
print(x)
break

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

  1. создаем функцию, которая будет принимать и обрабатывать нашу строку
  2. ПОКА нашлась подстрока “111” цикл while будет выполнять действия
  3. в таком случае заменим подстроку ”111” на ”2” именно 1 раз
  4. в таком случае заменим подстроку ”222” на ”1” именно 1 раз
  5. когда цикл заканчивается возвращаем полученную строку
  6. делаем перебор количества единиц ( от 60 до 100, т.к. в условии сказано, что единиц в строке было больше 60)
  7. вызываем функцию, и если исходная строка, содержащая более 60 единиц стала равна ‘221
  8. то выводим количество единиц
  9. завершаем цикл, т.к. первое число и будет минимальным
Вариант 2: через замену строки
Вариант 2: через замену строки
# Код решения Вариант 2
for x in range(60, 100):
s = '1' * x
while '111' in s:
s = s.replace('111', '2', 1)
s = s.replace('222', '1', 1)
if s == '221':
print(x)
break

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

  1. делаем перебор количества единиц (от 60 до 100, т.к. в условии сказано, что единиц в строке было больше 60)
  2. создаем нашу строку
  3. ПОКА нашлась подстрока “111” цикл while будет выполнять действия
  4. в таком случае заменим подстроку ”111” на ”2” именно 1 раз
  5. в таком случае заменим подстроку ”222” на ”1” именно 1 раз
  6. если исходная строка, содержащая более 60 единиц стала равна ‘221
  7. то выводим количество единиц
  8. завершаем цикл, т.к. первое число и будет минимальным

Ответ: 63

Читайте нас в телеграмме:

Информатика ЕГЭ | itpy 👨‍💻

Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy
Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy