12. Сложные исполнители и алгоритмы

Исполнитель "Редактор" (страница 2)

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела 12. Сложные исполнители и алгоритмы:

Это старая версия каталога задач

Нажмите для перехода на новую версию

Решаем задачи
Задание 8 #15109

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((11)\) ИЛИ нашлось\((2)\)

ПОКА нашлось\((12)\)

ТО заменить\((12, 11)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((11)\)

ТО заменить\((11, 2)\)

ИНАЧЕ ЕСЛИ нашлось\((2)\)

ТО заменить\((2, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите произведение количества тех цифр, которых больше всего, и значения тех цифр, которых меньше всего в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{11\dots11}_{231}\underbrace{22\dots22}_{70}.\) Так, если программа вывела бы 60 пятерок и 10 четверок, то ответом было число \(60 \cdot 4 = 240.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(1_{(231)} 2_{(70)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех двоек, таким образом после выполнения этого цикла строка будет состоять из 301 единицы.

Далее все кроме последней единицы исчезнут, а на их месте появятся двойки.

\(1_{(301)} \rightarrow 2_{(150)} 1_{(1)}\)

После этого все двойки заменятся нулями и программа завершит свою работу. В полученной строке 150 нулей и 1 единица. Больше всего нулей, меньше – единиц, ответ \(150 \cdot 1 = 150\)

Ответ: 150
Задание 9 #15101

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((33)\) ИЛИ нашлось\((9)\)

ПОКА нашлось\((39)\)

ТО заменить\((39, 33)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((33)\)

ТО заменить\((33, 9)\)

ИНАЧЕ ЕСЛИ нашлось\((9)\)

ТО заменить\((9, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите сумму цифр в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{33\dots33}_{49}\underbrace{99\dots99}_{54}.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(3_{(49)} 9_{(54)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех девяток, таким образом после выполнения этого цикла строка будет состоять из 103 троек.

Далее все тройки кроме последней исчезнут, а на их месте появятся девятки.

\(3_{(103)} \rightarrow 9_{(51)} 3_{(1)}\)

После этого все девятки заменятся нулями и программа завершит свою работу. В полученной строке 51 ноль и 1 тройка, сумма цифр равна 3.

Ответ: 3
Задание 10 #15098

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((55)\) ИЛИ нашлось\((7)\)

ПОКА нашлось\((57)\)

заменить\((57, 5)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((55)\)

ТО заменить\((55, 5)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой выше программы к строке: \(\underbrace{55\dots55}_{20}\underbrace{77\dots77}_{40}.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(5_{(20)} 7_{(40)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех семерок, таким образом после выполнения этого цикла строка будет состоять из 20 пятерок.

Далее количество пятерок будет уменьшаться, пока не останется одна пятерка.

Ответ: 5
Задание 11 #15099

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((55)\) ИЛИ нашлось\((7)\)

ПОКА нашлось\((57)\)

заменить\((57, 55)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((55)\)

ТО заменить\((55, 7)\)

ИНАЧЕ ЕСЛИ нашлось\((7)\)

ТО заменить\((7, 6)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Найдите сумму цифр в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{55\dots55}_{35}\underbrace{77\dots77}_{100}.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(5_{(35)} 7_{(100)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех семерок, таким образом после выполнения этого цикла строка будет состоять из 135 пятерок.

Далее все пятерки кроме последней исчезнут, а на их месте появятся семерки.

\(5_{(135)} \rightarrow 7_{(67)} 5_{(1)}\)

После этого все семерки заменятся шестерками и программа завершит свою работу. В полученной строке 67 шестерок и 1 пятерка, сумма цифр равна \(6 \cdot 67 + 5 = 407\)

Ответ: 407
Задание 12 #15100

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((55)\) ИЛИ нашлось\((7)\)

ПОКА нашлось\((57)\)

заменить\((57, 55)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((55)\)

ТО заменить\((55, 7)\)

ИНАЧЕ ЕСЛИ нашлось\((7)\)

ТО заменить\((7, 6)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Определите количество преобладающих цифр в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{55\dots55}_{35}\underbrace{77\dots77}_{100}.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(5_{(35)} 7_{(100)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех семерок, таким образом после выполнения этого цикла строка будет состоять из 135 пятерок.

Далее все пятерки кроме последней исчезнут, а на их месте появятся семерки.

\(5_{(135)} \rightarrow 7_{(67)} 5_{(1)}\)

После этого все семерки заменятся шестерками и программа завершит свою работу. В полученной строке 67 шестерок, их больше чем пятерок, значит ответ 67.

Ответ: 67
Задание 13 #15154

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось (*2) ИЛИ нашлось (*5) ИЛИ нашлось (*9)

ЕСЛИ нашлось (*2)

ТО заменить (*2, *)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*5)

ТО заменить (*5, 6*)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (*9)

ТО заменить (*9, 7*)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

На вход приведённой программе поступает строка, начинающаяся с символа “*”, а затем содержащая 30 цифр 2, 63 цифры 5 и 36 цифр 9, расположенных в произвольном порядке. Определите, каких цифр больше всего в строке, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 2 и 60 цифр 3, то верным ответом было бы число 3.

Показать решение

Принцип действия данной программы можно воспринимать как фильтр, через который по очереди пропускаются одни числа, а выводятся другие (или не выводятся вообще). Этим фильтром служит знак “*”. При пропускании через фильтр цифры 2, она не выводится, т.е. каждая двойка изначальной строки удаляется, после чего в конечной строке не будет ни одной двойки. Проходя через фильтр, пятерки и девятки заменяются на шестерки и семерки соответственно.

Исходя из этого, после выполнения программы в строке будут находиться 63 шестерки и 36 семерок. Шестерок больше всего, значит ответ 6.

Ответ: 6
Задание 14 #15102

Исполнитель Панцирь получает на вход строку цифр и преобразовывает её. Панцирь может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)

2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Панцирь. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».

Дана программа для исполнителя Панцирь:

НАЧАЛО

ПОКА нашлось\((33)\) ИЛИ нашлось\((9)\)

ПОКА нашлось\((39)\)

ТО заменить\((39, 33)\)

КОНЕЦ ПОКА

ЕСЛИ нашлось\((33)\)

ТО заменить\((33, 9)\)

ИНАЧЕ ЕСЛИ нашлось\((9)\)

ТО заменить\((9, 0)\)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Определите количество преобладающих цифр в строке, полученной в результате применения приведённой выше программы к строке: \(\underbrace{33\dots33}_{49}\underbrace{99\dots99}_{54}.\)

Показать решение

Для удобства будем использвовать следующие обозначения для количества одинаковых цифр, идущих подряд: \(A_{(B)},\) где A - цифра, которая находится в строке, а B - количество этих цифр.

Изначально была строка \(3_{(49)} 9_{(54)}.\) Цикл ПОКА внутри основного цикла ПОКА будет работать до момента исчезновения всех девяток, таким образом после выполнения этого цикла строка будет состоять из 103 троек.

Далее все тройки кроме последней исчезнут, а на их месте появятся девятки.

\(3_{(103)} \rightarrow 9_{(51)} 3_{(1)}\)

После этого все девятки заменятся нулями и программа завершит свою работу. В полученной строке 51 ноль.

Ответ: 51
1

2

3

...

9
Рулетка
Вы можете получить скидку в рулетке!