Редактор может выполнять две команды, в обеих командах v и w обозначают
Условие
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.А) заменить (v, w).Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.Б) нашлось (v).Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Дана программа для Редактора: НАЧАЛО ПОКА нашлось (12) ИЛИ нашлось (322) ИЛИ нашлось (222) ЕСЛИ нашлось (12) ТО заменить (12,
-
КОНЕЦ ЕСЛИ ЕСЛИ нашлось (322) ТО заменить (322, 21) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (222) ТО заменить (222,
-
КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведенной выше программе поступает строка, начинающаяся с цифры «1», а затем содержащая n цифр «2» Определите значение n, при котором сумма числовых значений цифр в строке, являющейся результатом работы программы, максимальна.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. maxi = 0for n in range(3, 10000 + 1): s = '1' + '2' * n while '12' in s or '322' in s or '222' in s: if '12' in s: s = s.replace('12', '2',
Осталось ещё 3 шага
if '322' in s: s = s.replace('322', '21'…
if '222' in s: s = s.replace('222', '3'…
if s.count('1') + s.count('2') * 2 +…
Бесплатно · займёт минуту