Редактор может выполнять две команды, в обеих командах v и w обозначают
Условие
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.А) заменить (v, w).Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.Б) нашлось (v).Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Дана программа для Редактора: НАЧАЛО ПОКА нашлось (055) ИЛИ нашлось (65) ИЛИ нашлось (5555) ЕСЛИ нашлось (055) ТО заменить (055, 56) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (65) ТО заменить (65,
-
КОНЕЦ ЕСЛИ ЕСЛИ нашлось (5555) ТО заменить (5555, 000) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (00000) ТО заменить (00000,
-
КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведенной выше программе поступает строка, содержащая n цифр «5» и заканчивающаяся цифрой «0» Определите наибольшее возможное значение суммы числовых значений цифр в строке, которая может быть результатом выполнения данной программы.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. otv = []for n in range(4, 2500): s = '5' * n + '0' while '055' in s or '65' in s or '5555' in s: if '055' in s: s = s.replace('055', '56',
Осталось ещё 9 шагов
if '65' in s: s = s.replace('65', '5'…
if '5555' in s: s = s.replace('5555', '000'…
if '00000' in s: s = s.replace('00000', '6'…
otv.append(s.count('5') * 5 + s.count('6') *…
Приведём другое решение на языке Python. maxx…
if '65' in s: s = s.replace('65', '5'…
if '5555' in s: s = s.replace('5555', '000'…
if '00000' in s: s = s.replace('00000', '6'…
summ = sum(list(int(x) for x in s)) if summ >…
Бесплатно · займёт минуту