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