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