В приведённом фрагменте алгоритма переменные $a$, $b$, $c$ имеют тип «строка», а переменные $i$, $k$ — тип «целое». Функция Длина($a$) возвращает количество символов в строке $a$; функция…
- 1
В строке «ПОЕЗД» пять символов, поэтому начальное значение $i$ равно $5$. На каждой итерации цикла значение $i$ уменьшается на $2$.$$i = 5, 3, 1$$
- 2
Из строки извлекаются символы с позиций $5$, $3$ и $1$: соответственно «Д», «Е» и «П».
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Определите количество нулей в строке, получившейся в результате применения программы к входной строке…
- 1
В начальной строке есть одна единица и 55 нулей. Пока единица стоит перед нулём, выполняется замена $10 \to 001$.
- 2
Каждая такая замена добавляет один ноль, поэтому после 55 замен количество нулей станет $55 + 55 = 110$. Единица переместится в конец строки.
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки v на цепочку w. Команда «нашлось (v)» проверяет наличие…
- 1
Для каждого значения $n$ моделируем выполнение программы над строкой $2\underbrace{55\ldots5}_{n\text{ цифр}}$, учитывая, что за одну проверку заменяется только первое слева вхождение каждой из цепочек.
- 2
После завершения цикла подсчитываем сумму цифр получившейся строки и сравниваем её с 17.
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразует её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w. Если в строке нет вхождений цепочки v…
- 1
В начале строки есть только цепочки 333, поэтому команда заменить (333, 9) последовательно сокращает группы троек и образует цифры 9.
- 2
По мере появления трёх соседних цифр 9 срабатывает условие нашлось (999), и первое вхождение 999 заменяется обратно на одну цифру 3.
Ещё 2 шага — в полном решении
Исполнитель Редактор получает на вход строку, начинающуюся с символа «>», а затем содержащую 26 цифр 1, 10 цифр 2 и 14 цифр 3, расположенных в произвольном порядке. В программе последовательно…
- 1
Символ «>» последовательно проходит по строке слева направо. При обработке цифры 1 она заменяется двумя цифрами 2, поэтому вклад каждой такой цифры в сумму равен 4.$$1 \rightarrow 22,\quad s_1=4$$
- 2
При обработке цифры 2 она заменяется одной цифрой 2, поэтому её вклад равен 2.$$2 \rightarrow 2,\quad s_2=2$$
Ещё 2 шага — в полном решении
Исполнитель Редактор получает на вход строку цифр. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки цифр v на цепочку цифр w, а команда «нашлось (v)» проверяет наличие цепочки v в…
- 1
В начале строки находятся 99 цифр 9. Пока встречается цепочка $9999$ и не встречается $22222$, заменяется первое вхождение $9999$ на $2$.
- 2
После появления пяти идущих подряд двоек срабатывает первая ветвь условия: цепочка $22222$ заменяется на $99$. Затем снова выполняются замены $9999$ на $2$.
Ещё 2 шага — в полном решении
Исполнитель «Редактор» получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки цифр v на цепочку цифр w. Если вхождений нет, строка не…
- 1
Для каждого допустимого значения $n$ моделируем выполнение программы над строкой $1\underbrace{22\ldots2}_{n\text{ цифр}}$. После каждой итерации замены выполняются именно в указанном порядке.
- 2
Замена $12\to2$ устраняет начальную единицу и превращает начальный фрагмент строки в последовательность цифр «2». Затем замены $222\to3$ и $322\to21$ постепенно сокращают строку и изменяют сумму её цифр.$$12\to2,\qquad 322\to21,\qquad 222\to3$$
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w, а команда «нашлось (v)» проверяет…
- 1
Для каждого n формируем исходную строку $7$ идущих подряд цифр $8$, затем точно моделируем все проходы цикла и считаем сумму цифр итоговой строки.$$s_n = 7\underbrace{88\ldots8}_{n\text{ цифр}}$$
- 2
При моделировании на каждом проходе проверяем условия в указанном порядке и заменяем только первое найденное вхождение каждой цепочки. Перебор начинается с $n=4$.
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки v на цепочку w, а команда «нашлось (v)» проверяет наличие цепочки v в строке…
- 1
В начале строки есть только цепочка из 135 цифр 9, поэтому выполняется замена первого вхождения 9999 на 2.
- 2
После нескольких замен образуются цепочки из цифр 2. Как только появляется 22222, срабатывает первая ветвь условия: первое вхождение 22222 заменяется на 99.
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки цифр v на цепочку w. Если цепочки v нет, строка не…
- 1
В строке из 80 единиц цепочка $11111$ заменяется на $88$ до тех пор, пока в строке остаётся хотя бы пять единиц. За 16 замен исчезают все 80 единиц.$$80 = 16 \cdot 5$$
- 2
Каждая из 16 замен добавляет две цифры 8, поэтому после этого образуется строка из 32 цифр 8.$$16 \cdot 2 = 32$$
Ещё 1 шаг — в полном решении
На ленте в соседних ячейках записано двоичное представление числа 2027 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени…
- 1
Двоичное представление числа 2027 без ведущих нулей:$$2027_{10}=11111101011_2$$
- 2
Головка начинает работу с пустой ячейки справа, затем движется влево. Последовательно применяем команды программы к символам двоичной записи.
Ещё 2 шага — в полном решении
На вход приведённой программе поступает строка, начинающаяся с символа «>», а затем содержащая 10 цифр 1, 20 цифр 2 и 30 цифр 3, расположенных в произвольном порядке. Определите сумму числовых…
- 1
Символ «>» последовательно перемещается вправо по строке, обрабатывая каждую цифру. Порядок расположения цифр не влияет на итоговый вклад каждой цифры.
- 2
При обработке цифры 1 выполняется замена $>1 \to 22>$, поэтому одна цифра 1 превращается в две цифры 2 и даёт вклад $2 \cdot 2 = 4$.$$10 \cdot 4 = 40$$
Ещё 3 шага — в полном решении
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w. Команда «нашлось (v)»…
- 1
Порядок цифр во входной строке не влияет на итоговое количество цифр: символ «>» последовательно обрабатывает каждую цифру.
- 2
Каждая цифра 1 заменяется двумя цифрами 2. Поэтому 11 единиц дают $11 \cdot 2 = 22$ двойки.$$1 \to 22$$
Ещё 3 шага — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w. Если в строке нет вхождений цепочки…
- 1
В начале строка имеет вид $10^{90}$: одна единица и 90 нулей справа от неё.
- 2
Пока после единицы есть ноль, выполняется замена $10 \to 0001$. Единица перемещается на две позиции вправо, а общее количество нулей увеличивается на 2.
Ещё 2 шага — в полном решении
Исполнитель «Редактор» получает на вход строку цифр. Команда «заменить(v, w)» заменяет первое слева вхождение цепочки v на цепочку w. Если цепочка v отсутствует, строка не изменяется. Команда…
- 1
В начале строки есть только цепочки 999, поэтому на первых шагах заменяется первое вхождение 999 на 3. Постепенно формируется цепочка из цифр 3.
- 2
Как только появляются пять подряд идущих цифр 3, условие ЕСЛИ становится истинным, поэтому заменяется цепочка 33333 на 99, а не цепочка 999.
Ещё 1 шаг — в полном решении
Исполнитель Редактор получает на вход строку, состоящую из 100 идущих подряд цифр 9. Программа последовательно заменяет первое слева вхождение цепочки 33333 на 99, если такая цепочка есть, иначе…
- 1
В начале строки есть только цепочка 999, поэтому на каждом шаге первое вхождение 999 заменяется на 3.
- 2
После появления пяти подряд идущих цифр 3 начинает выполняться первая ветвь: первое вхождение 33333 заменяется на 99.
Ещё 2 шага — в полном решении
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w. Если в строке нет вхождений цепочки…
- 1
В начале строка состоит из 65 цифр 9, поэтому в ней есть цепочка $999$, а цепочки $222$ нет. Выполняется замена первого вхождения $999$ на $2$.
- 2
После появления трёх подряд идущих цифр 2 срабатывает условие нашлось (222), и цепочка $222$ заменяется на $19$. Далее снова проверяется строка с начала, поэтому возможные новые вхождения обрабатываются в установленном порядке.
Ещё 1 шаг — в полном решении
Исполнитель «Редактор» получает на вход строку цифр. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки $v$ на цепочку $w$, а команда «нашлось (v)» проверяет наличие цепочки $v$ в…
- 1
Для каждого значения $n$ формируем исходную строку $5$ и $n$ цифр $2$, затем буквально выполняем команды программы: заменяем первое найденное вхождение $52$, затем первое найденное вхождение $2222$, затем первое найденное вхождение $1122$.
- 2
После завершения цикла вычисляем сумму цифр получившейся строки и перебираем значения $n$ в порядке возрастания, начиная с $4$.
Ещё 2 шага — в полном решении
Исполнитель Редактор получает на вход строку цифр. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки цифр v на цепочку w. Команда «нашлось (v)» проверяет, встречается ли цепочка v в…
- 1
Пока в строке встречается $111$, выполняется замена $111 \to 88$. Из 101 единицы можно выделить 33 непересекающиеся группы по 3 цифры, поэтому останутся 2 единицы.$$101 = 33 \cdot 3 + 2$$
- 2
Каждая из 33 замен создаёт две цифры 8, поэтому после первого этапа строка содержит 66 восьмёрок и две единицы.$$33 \cdot 2 = 66$$
Ещё 2 шага — в полном решении
На ленте в соседних ячейках записано двоичное представление числа 2027 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени…
- 1
Представим число 2027 в двоичной системе счисления:$$2027_{10}=11111101011_2$$
- 2
Из начальной пустой ячейки справа головка переходит влево и начинает обрабатывать двоичную запись в состоянии q_1. Далее по таблице последовательно выполняются команды состояний q_1, q_2 и q_3.
Ещё 1 шаг — в полном решении