Какая строка получится в результате применения приведённой ниже
Условие
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.А) заменить (v, w).Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (555, 63) преобразует строку 12555550 в строку 1263550.Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.Б) нашлось (v).Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 1000 идущих подряд цифр 9? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (999) ИЛИ нашлось (888) ЕСЛИ нашлось (888) ТО заменить (888,
-
ИНАЧЕ заменить (999,
-
КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. По ходу работы программы строка будет меняться так: 9999... → 89999... → 889999... → 8889999... → 9999...При этом за каждые 4 итерации цикла будет убираться 3 + 3 + 3 − 1 = 8 девяток.
Тогда после 124 раз по 4 итерации, то есть после 496 итераций, из строки будет убрано девятки и она примет вид
Осталось ещё 4 шага
После чего цикл отработает ещё пару раз…
Примечание. Рекомендуем сравнить эту задачу с…
Исходные данные в этих задачах «симметричные»…
if '999' in s: s = s.replace ('999', '8'…
Бесплатно · займёт минуту