Преобразование строки Редактором
Исполнитель Редактор получает на вход строку, состоящую из единицы и 80 нулей подряд. Программа последовательно заменяет первое слева вхождение цепочки $10$ на $0001$, если цепочка $10$ встречается, а иначе заменяет единицу на $00$. Определите количество нулей в строке после завершения работы программы.
Условие как в банке ФИПИ — открыть и сверить
| Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Определите количество нулей в строке, получившейся в результате применения приведённой ниже программы к входной строке , т.е. к строке, состоящей из единицы, за которой следуют 80 нулей подряд. В ответе запишите только количество нулей в получившейся строке.
НАЧАЛО ПОКА нашлось (1) ЕСЛИ нашлось (10) ТО заменить (10, 0001) ИНАЧЕ заменить (1, 00) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ | |||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Что происходит с единицей при замене $10$ на $0001$?
2Наводящая — какие числа считатьуровень 2 из 3
Каждая замена $10 \to 0001$ перемещает единицу на одну позицию вправо и добавляет два нуля.
3Прямая — фактически решениеуровень 3 из 3
Замена выполняется 80 раз, после чего единица заменяется на два нуля: $80 \cdot 2 + 2 = 162$ новых нуля, а исходных нулей было 80.