Задание 12. Выполнение алгоритмов исполнителей с фиксированным набором команд. ЕГЭ 2026 по информатике

За это задание ты можешь получить 1 балл. На решение дается около 2 минут. Уровень сложности: базовый.
Средний процент выполнения: 59.9%
Ответом к заданию 12 по информатике может быть цифра (число) или слово.

Задачи для практики

Задача 1

Исполнитель МТ представляет собой читающую и записывающую головку, которая может перемещаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (A = {a0, a1, …, an–1}), включая специальный пустой символ λ.

Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний (Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.

На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка может:

  • Переместиться в соседнюю ячейку слева или справа, не меняя символ в текущей ячейке;
  • Или заменить символ в текущей ячейке без перемещения;
  • После выполнения действия перейти в новое состояние или остаться в прежнем.

Программа работы исполнителя задаётся в табличном виде. В первой строке перечислены все возможные символы ленты, в первой колонке – возможные состояния головки. На пересечении строки и столбца указана команда, которую выполняет МТ, когда головка обозревает данный символ, находясь в данном состоянии. Пустая клетка означает невозможную комбинацию.

Каждая команда имеет три элемента, разделённых запятой:

  1. Символ, записываемый в текущую ячейку;
  2. Действие: L (сдвиг влево), R (сдвиг вправо), N (без сдвига), S (завершение работы);
  3. Новое состояние головки после выполнения команды.

Например, команда 0, L, q3 означает: в текущую ячейку записать символ «0», сдвинуться в соседнюю ячейку слева и перейти в состояние q3.

Выполните задание:

На ленте в соседних ячейках записана последовательность из 800 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности в состоянии q0.

Программа работы исполнителя

λ 1 0
q0 λ, R, q1
q1 λ, S, q1 0, R, q1 1, S, q1

После выполнения программы на ленте осталось ровно 457 единиц.

Вопрос: Определите максимально возможное число единиц в исходной последовательности.

Решение

1. Машина стартует слева от последовательности в состоянии q0 и сразу переходит в q1, не изменяя символ.

2. В состоянии q1:
- Если головка видит 1, она превращает её в 0 и движется вправо.
- Если головка видит 0, она превращает её в 1 и останавливается.
- Пустая λ останавливает программу.

3. После выполнения программы осталось 457 единиц. Это означает, что 457 единиц находятся справа от того нуля, который остановил машину.

4. Чтобы максимально увеличить число единиц в исходной последовательности, нужно, чтобы все символы слева от нуля (который остановил программу) были единицами. Во время работы они превратятся в нули, но при этом они учитываются в исходном числе единиц.

5. Длина последовательности = 800, машина остановилась на первом нуле, который превратился в 1. Все остальные единицы слева были уничтожены. Таким образом, максимально возможное число единиц в исходной последовательности:

800 − 1 = 799

Ответ: 799
Показать решение
Бесплатный интенсив

Задача 2

Изменения ЕГЭ-2026

Исполнитель МТ представляет собой читающую и записывающую головку, которая может перемещаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (A = {a0, a1, …, an–1}), включая специальный пустой символ λ.

Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний (Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.

На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка может:

  • Переместиться в соседнюю ячейку слева или справа, не меняя символ в текущей ячейке;
  • Или заменить символ в текущей ячейке без перемещения;
  • После выполнения действия перейти в новое состояние или остаться в прежнем.

Программа работы исполнителя задаётся в табличном виде. В первой строке перечислены все возможные символы ленты, в первой колонке – возможные состояния головки. На пересечении строки и столбца указана команда, которую выполняет МТ, когда головка обозревает данный символ, находясь в данном состоянии. Пустая клетка означает невозможную комбинацию.

Каждая команда имеет три элемента, разделённых запятой:

  1. Символ, записываемый в текущую ячейку;
  2. Действие: L (сдвиг влево), R (сдвиг вправо), N (без сдвига), S (завершение работы);
  3. Новое состояние головки после выполнения команды.

Например, команда 0, L, q3 означает: в текущую ячейку записать символ «0», сдвинуться в соседнюю ячейку слева и перейти в состояние q3.

Выполните задание:

В начальный момент времени на ленте подряд записана последовательность из 600 символов, включающая только 0 и 1. Остальные ячейки заполнены λ. Головка расположена на левой границе последовательности (не на пустом символе) и находится в состоянии q1.

Программа работы исполнителя

λ 0 1
q1 λ, S, q1 1, R, q1 0, R, q2
q2 λ, S, q2 0, L, q1 1, R, q2

После выполнения программы на ленте образовалась последовательность вида: сначала идут нули, потом единицы. Левая группа нулей и правая группа единиц не могут быть пустыми.

Вопрос:определите максимально возможное количество нулей в исходной последовательности

Решение

Ответ: максимально возможное количество нулей в исходной последовательности — 598.

Краткое обоснование

  1. По таблице переходов: в начале головка находится на первом символе в состоянии q1.
  2. В состоянии q1 при чтении 1 машина записывает 0 и переходит в q2, а в q2 идёт вправо по единицам, возвращаясь в q1 только при встрече 0. При чтении 0 в q1 он записывает 1 и идёт вправо.
  3. Чтобы по окончании получилась строка вида 0^a1^b с ненулевыми обеими группами, необходимо иметь по крайней мере две единицы в исходной строке. При одной единице (или нуле единиц) получить непустую правую группу единиц невозможно.
  4. Следовательно максимум нулей = длина 600 минус минимум необходимых единиц 2, то есть 600 − 2 = 598. Пример, достигающий этого: исходная строка 11 + 0 повторённый 598 раз; после работы машины получается строка с ровно одним нулём слева и 599 единицами справа.
Ответ: 598
Показать решение
Бесплатный интенсив

Задача 3

Изменения ЕГЭ-2026

Исполнитель МТ представляет собой читающую и записывающую головку, которая может перемещаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (A = {a0, a1, …, an–1}), включая специальный пустой символ λ.

Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний (Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.

На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка может:

  • Переместиться в соседнюю ячейку слева или справа, не меняя символ в текущей ячейке;
  • Или заменить символ в текущей ячейке без перемещения;
  • После выполнения действия перейти в новое состояние или остаться в прежнем.

Программа работы исполнителя задаётся в табличном виде. В первой строке перечислены все возможные символы ленты, в первой колонке – возможные состояния головки. На пересечении строки и столбца указана команда, которую выполняет МТ, когда головка обозревает данный символ, находясь в данном состоянии. Пустая клетка означает невозможную комбинацию.

Каждая команда имеет три элемента, разделённых запятой:

  1. Символ, записываемый в текущую ячейку;
  2. Действие: L (сдвиг влево), R (сдвиг вправо), N (без сдвига), S (завершение работы);
  3. Новое состояние головки после выполнения команды.

Например, команда 0, L, q3 означает: в текущую ячейку записать символ «0», сдвинуться в соседнюю ячейку слева и перейти в состояние q3.

Выполните задание:

На ленте в соседних ячейках записана последовательность из 1200 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

Программа работы исполнителя

λ 1 0
q0 λ, R, q1
q1 λ, S, q1 1, R, q1 0, R, q1

После выполнения программы число нулей на ленте стало половиной числа единиц.

Вопрос

Сколько единиц содержалось в исходной последовательности?

Решение
  1. Головка стартует в q0 на пустой клетке слева и сразу идёт вправо в q1.
  2. В q1:
    - если видит 1, оставляет её единицей и идёт вправо;
    - если видит 0, идёт вправо и оставляет ноль;
  3. После прохождения ленты остаётся такое соотношение: число нулей на ленте = половине числа единиц.
  4. Пусть исходное число единиц = X, нулей = Y. После выполнения программы условие: Y_new = (1/2) * X_new. Составляем уравнение, учитывая, какие символы меняются и какие остаются.
  5. Решив уравнение, получаем, что максимально возможное исходное число единиц: 800.
800 единиц

Ответ: 800
Показать решение
Бесплатный интенсив

Задача 4

Исполнитель МТ представляет собой читающую и записывающую головку, которая может перемещаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (A = {a0, a1, …, an–1}), включая специальный пустой символ λ.

Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний (Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.

На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка может:

  • Переместиться в соседнюю ячейку слева или справа, не меняя символ в текущей ячейке;
  • Или заменить символ в текущей ячейке без перемещения;
  • После выполнения действия перейти в новое состояние или остаться в прежнем.

Программа работы исполнителя задаётся в табличном виде. В первой строке перечислены все возможные символы ленты, в первой колонке – возможные состояния головки. На пересечении строки и столбца указана команда, которую выполняет МТ, когда головка обозревает данный символ, находясь в данном состоянии. Пустая клетка означает невозможную комбинацию.

Каждая команда имеет три элемента, разделённых запятой:

  1. Символ, записываемый в текущую ячейку;
  2. Действие: L (сдвиг влево), R (сдвиг вправо), N (без сдвига), S (завершение работы);
  3. Новое состояние головки после выполнения команды.

Например, команда 0, L, q3 означает: в текущую ячейку записать символ «0», сдвинуться в соседнюю ячейку слева и перейти в состояние q3.

Выполните задание:

На ленте в соседних ячейках записана последовательность из 600 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

Программа работы исполнителя

λ 1 0
q0 λ, R, q1
q1 λ, S, q1 0, R, q2 1, L, q1
q2 λ, S, q2 1, R, q2 0, S, q2

После выполнения программы на ленте осталось ровно 320 единиц.

Вопрос

Определите максимально возможное число единиц в исходной последовательности.

Решение
Анализ программы

Состояния и команды:

  • q0, λ → R, q1: стартовая команда, головка переходит в q1, ничего не меняя.
  • q1, 1 → 0, R, q2: единица превращается в ноль, головка идёт вправо и переходит в q2.
  • q1, 0 → 1, L, q1: ноль превращается в единицу, головка идёт влево, остаётся в q1.
  • q1, λ → S, q1: пустая клетка останавливает машину.
  • q2, 1 → 1, R, q2: единицы остаются, головка идёт вправо, остаётся в q2.
  • q2, 0 → 0, S, q2: ноль останавливает программу.
  • q2, λ → λ, S, q2: пустая клетка останавливает программу.
Логика работы

1. Машина стартует слева на λ, идёт в q1 на первый символ последовательности.

2. В q1:

  • Если символ = 1 → заменяет на 0 и переходит в q2. Это единственное место, где меняется единица.
  • Если символ = 0 → заменяет на 1 и идёт влево к λ, где встречает команду остановки. В этом случае изменяется только первая ячейка.

3. В q2 головка идёт вправо по единицам, не изменяя их, и останавливается на первом встречном 0 или λ. Остальные единицы остаются нетронутыми.

4. Таким образом, в ходе работы изменяется ровно одна ячейка — самая левая из 600.

Решение

Чтобы найти максимально возможное число единиц в исходной последовательности:

  1. Учти, что после работы на ленте осталось 320 единиц.
  2. Первая ячейка могла быть 1 → превратилась в 0, тогда исходно было 320 + 1 = 321 единица.
  3. Если первая ячейка была 0 → превратилась в 1, тогда исходно было 320 − 1 = 319 единиц.
  4. Максимально возможное число единиц в исходной последовательности = 321.
Ответ: 321
Показать решение
Бесплатный интенсив

Задача 5

Изменения ЕГЭ-2026

Исполнитель МТ представляет собой читающую и записывающую головку, которая может перемещаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (A = {a0, a1, …, an–1}), включая специальный пустой символ λ.

Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний (Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.

На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка может:

  • Переместиться в соседнюю ячейку слева или справа, не меняя символ в текущей ячейке;
  • Или заменить символ в текущей ячейке без перемещения;
  • После выполнения действия перейти в новое состояние или остаться в прежнем.

Программа работы исполнителя задаётся в табличном виде. В первой строке перечислены все возможные символы ленты, в первой колонке – возможные состояния головки. На пересечении строки и столбца указана команда, которую выполняет МТ, когда головка обозревает данный символ, находясь в данном состоянии. Пустая клетка означает невозможную комбинацию.

Каждая команда имеет три элемента, разделённых запятой:

  1. Символ, записываемый в текущую ячейку;
  2. Действие: L (сдвиг влево), R (сдвиг вправо), N (без сдвига), S (завершение работы);
  3. Новое состояние головки после выполнения команды.

Например, команда 0, L, q3 означает: в текущую ячейку записать символ «0», сдвинуться в соседнюю ячейку слева и перейти в состояние q3.

Выполните задание:

На ленте в соседних ячейках записана последовательность из 900 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности и находится в состоянии q0.

Программа работы исполнителя

λ 1 0
q0 λ, R, q1 0, R, q0 0, R, q1
q1 λ, S, q1 0, R, q0 1, R, q1

После выполнения программы на ленте осталось ровно 50 нулей.

Вопрос

Определите максимально возможное количество нулей в исходной последовательности.

Решение
  1. Головка стартует слева в состоянии q0.
  2. В q0:
    • Если символ 1 → превращается в 0, головка идёт вправо и остаётся в q0.
    • Если символ 0 → превращается в 0, головка идёт вправо, переходит в q1.
    • Если символ λ → остаётся лямбда, уходит в q1.
  3. В q1:
    • Если символ 1 →превращается в 0, головка идёт вправо и переходит в q0.
    • Если символ 0 → превращается в 1, головка идёт вправо и остаётся в q1.
    • Если символ λ → программа останавливается.
  4. Проследив движение головки и влияние команд, получаем, что сначала могут идти 0, которые заменятся на 1, потом можно чередовать 0 и 1, они будут все превращаться в 0.
  5. Так как длина последовательности 900, максимально возможное число нулей в исходной последовательности составляет 875, а число единиц 25.

Ответ: 875 нулей

Ответ: 875
Показать решение
Бесплатный интенсив

Задача 6

2024

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

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w)
не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.
В конструкции

ЕСЛИ условие
    ТО команда1
    ИНАЧЕ команда2
КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:

НАЧАЛО 
ПОКА нашлось(2222) 
заменить(222, 44) 
заменить(4, 22) 
КОНЕЦ ПОКА
КОНЕЦ 

На вход приведённой выше программе поступает строка, содержащая n цифр «2» (3 < n < 1000). Определите наименьшее возможное количество цифр «2» в строке, при котором количество четверок(4), получившейся в результате выполнения программы, равно не менее 8.

Решение
for n in range(1, 100):
    s = '2' * n
    while "2222" in s:
        s = s.replace('222', '44', 1)
        s = s.replace('4', '22', 1)
    if s.count('4') >= 8:
        print(n)
        break 
Ответ: 16
Показать решение
Бесплатный интенсив

Задача 7

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

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w)
не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.
В конструкции

ЕСЛИ условие
    ТО команда1
    ИНАЧЕ команда2
КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:

НАЧАЛО 
ПОКА нашлось(99) ИЛИ нашлось(555)
заменить(99, 551)
заменить(5, 229) 
КОНЕЦ ПОКА
КОНЕЦ 

На вход приведённой выше программе поступает строка, содержащая 36 цифр «9». Определите количество цифр «2» в строке, получившейся в результате выполнения программы.

Решение
s = '9' * 36
while "99" in s or '555' in s:
    s = s.replace('99', "551", 1)
    s = s.replace('5', '229', 1)
print(s.count('2'))
Ответ: 36
Показать решение
Бесплатный интенсив

Задача 8

2024 Открытый

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

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w)
не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.
В конструкции

ЕСЛИ условие
    ТО команда1
    ИНАЧЕ команда2
КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:

НАЧАЛО 
ПОКА нашлось (7777) ИЛИ нашлось (6666) 
 ЕСЛИ нашлось (6666) 
 ТО заменить (6666, 7) 
 ИНАЧЕ заменить (7777, 66)
КОНЕЦ ЕСЛИ 
КОНЕЦ ПОКА 
КОНЕЦ

Какая строка получится в результате применения приведённой программы к строке, состоящей из 45 идущих подряд цифр 7? В ответе запишите полученную строку.

Решение
s = '7' * 45
while "7777" in s or '6666' in s:
    if '6666' in s:
        s = s.replace('6666',"7",1)
    else:
        s = s.replace('7777','66',1)
print(s)
Ответ: 777
Показать решение
Бесплатный интенсив

Задача 9

2024

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

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w)
не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.
В конструкции

ЕСЛИ условие
    ТО команда1
    ИНАЧЕ команда2
КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:

НАЧАЛО 
ПОКА нашлось(8888) 
заменить(8888, 44) 
заменить(4444, 848) 
КОНЕЦ ПОКА
КОНЕЦ 

На вход приведённой выше программе поступает строка, содержащая n цифр «8» (3 < n < 1000). Определите наименьшее возможное количество цифр «8» в строке, при котором cумма цифр строки, получившейся в результате выполнения программы, равна не менее 52.

Решение
def SumDigit(n):
    n = int(n)
    sum_digit = 0
    while n > 0:
        sum_digit += n % 10
        n //= 10
    return sum_digit


for n in range(1, 100):
    s = '8' * n
    while "8888" in s:
        s = s.replace('8888', '44', 1)
        s = s.replace('4444', '848', 1)
    if SumDigit(s) >= 52:
        print(n)
        break
Ответ: 18
Показать решение
Бесплатный интенсив

Задача 10

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

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w)
не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.
В конструкции

ЕСЛИ условие
    ТО команда1
    ИНАЧЕ команда2
КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:

НАЧАЛО
ПОКА нашлось (25) ИЛИ нашлось (355) ИЛИ нашлось (555)
    ЕСЛИ нашлось (25)
        ТО заменить (25, 5)
    КОНЕЦ ЕСЛИ
    ЕСЛИ нашлось (355)
        ТО заменить (355, 52)
    КОНЕЦ ЕСЛИ
    ЕСЛИ нашлось (555)
        ТО заменить (555, 3)
    КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

На вход приведённой выше программе поступает строка, начинающаяся с цифры «3», а затем содержащая n цифр «5» (n > 3).

Определите наименьшее значение n, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 22.

Решение
for n in range(3, 100):
    s = '3' + '5' * n
    while '25' in s or '355' in s or '555' in s:
        if '25' in s:
            s = s.replace('25', '5', 1)
        if '355' in s:
            s = s.replace('355', '52', 1)
        if '555' in s:
            s = s.replace('555', '3', 1)
    if sum(map(int, s)) == 22:
        print(n)
        break
Ответ: 33
Показать решение
Бесплатный интенсив

Задача 11

Исполнитель Редактор умеет обрабатывать строку цифр. Редактор знает две команды:

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, команда

заменить(999,11)

преобразует строку 599999978 в строку 51199978.

Если в строке нет вхождений цепочки v, то выполнение команды

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

не меняет эту строку.

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

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение истина, в противном случае возвращает значение ложь. Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие

последовательность команд

КОНЕЦ ПОКА

означает, что последовательность команд выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

На вход подаётся строка, в начале которой стоит знак "!", а затем в произвольном порядке 10 единиц, 20 двоек, 30 троек, 40 четвёрок. Укажите количество двоек в строке, полученной в результате применения алгоритма к данной строке.

НАЧАЛО

ПОКА нашлось (!1) ИЛИ нашлось (!2) ИЛИ нашлось (!3) ИЛИ нашлось (!4)

ЕСЛИ нашлось (!1)

ТО заменить (!1, 22!)

КОНЕЦ ЕСЛИ

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

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

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!3)

ТО заменить (!3, 24!)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!4)

ТО заменить (!4, 44!)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Решение

Заметим, что при каждом преобразовании, заменяется цифра, находящаяся сразу после "!", а цифры, полученные после преобразования, оказываются справа от знака "!". Следовательно, каждый символ преобразуется ровно один раз.

Одна единица заменяется на две двойки. Значит 10 единиц заменятся на 20 двоек.

Одна двойка заменяется на "12". Значит 20 двоек заменятся на 20 единиц и 20 двоек.

Одна тройка заменяется на "24". Значит 30 троек заменятся на 30 двоек и 30 четвёрок.

Одна четвёрка заменяется на две четвёрки. Значит 40 четвёрок заменятся на 80 четвёрок.

Общее количество двоек в итоговой строке: 20+20+30=70.

Ответ: 70

Ответ: 70
Показать решение
Бесплатный интенсив

Задача 12

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

Сместиться на (20, 11)

ПОВТОРИ n РАЗ

Сместиться на (a, b)

Сместиться на (3, -1)

КОНЕЦ ПОВТОРИ

КОНЕЦ

Укажите наибольшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что по результатам работы этого алгоритма Чертёжник переместится из точки (-7, 1) в точку (17, 24).

Решение

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка) = (17, 24) - (-7, 1) = (24, 23).

(Алгоритм) = (24, 23).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (24, 23).

(Цикл) = (24, 23) - (Смещения вне цикла) = (24, 23) - (20, 11) = (4, 12).

Следовательно, (Цикл) = (4, 12).

Одна итерация цикла смещает на (a + 3, b - 1).

n итераций цикла смещают на (n · (a+3), n · (b-1)).

n · (a+3) = 4.

n · (b-1) = 12.

Поскольку мы работаем в целых числах, n принимает наибольшее значение = НОД (4, 12) = 4.

Ответ: 4.

Ответ: 4
Показать решение
Бесплатный интенсив

Задача 13

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

Сместиться на (10, -4)

ПОВТОРИ n РАЗ

Сместиться на (3, 4)

Сместиться на (a, b)

Сместиться на (-8, 7)

КОНЕЦ ПОВТОРИ

КОНЕЦ

Укажите наименьшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что по результатам работы этого алгоритма Чертёжник переместится из точки (8, 5) в точку (30, 19).

Решение

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка) = (30, 19) - (8, 5) = (22, 14).

(Алгоритм) = (22, 14).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (22, 14).

(Цикл) = (22, 14) - (Смещения вне цикла) = (22, 14) - (10, -4) = (12, 18).

Следовательно, (Цикл) = (12, 18).

Одна итерация цикла смещает на (3 + a - 8, 4 + b + 7) = (a - 5, b + 11).

n итераций цикла смещают на (n · (a-5), n · (b+11)).

n · (a-5) = 12.

n · (b+11) = 18.

Поскольку мы работаем в целых числах, n принимает наименьшее значение = наименьшему общему делителю (12, 18). При n > 1 это число 2.

Ответ: 2.

Ответ: 2
Показать решение
Бесплатный интенсив

Задача 14

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

Сместиться на (10, 15)

Сместиться на (3, -24)

ПОВТОРИ n РАЗ

Сместиться на (a, b)

Сместиться на (12, -8)

КОНЕЦ ПОВТОРИ

Сместиться на (2, -36)

КОНЕЦ

Укажите сумму значений переменных a и b для наибольшего возможного значения числа n, при котором Чертёжник после выполнения алгоритма окажется в той же точке, из которой начал движение.

Решение

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка).

Поскольку конечная точка совпадает с начальной точкой, их разность будет равна (0, 0).

(Алгоритм) = (0, 0).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (0, 0).

(Цикл) = (0, 0) - (Смещения вне цикла).

Сложим (Смещения вне цикла): (10, 15) + (3, -24) + (2, -36) = (15, -45).

Следовательно, (Цикл) = (0, 0) - (15, -45) = (-15, 45).

Одна итерация цикла смещает на (a+12, b - 8).

n итераций цикла смещают на (n · (a+12), n · (b-8)).

n · (a+12) = -15.

n · (b-8) = 45.

Поскольку мы работаем в целых числах, n принимает наибольшее значение = НОД (-15, 45) = 15.

Тогда a = (-15 / 15) - 12 = -13.

b = (45 / 15) + 8 = 11.

a + b = -13 + 11 = -2.

Ответ: -2.

Ответ: -2
Показать решение
Бесплатный интенсив

Задача 15

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

Сместиться на (20, 11)

ПОВТОРИ n РАЗ

Сместиться на (a, b)

Сместиться на (3, -1)

КОНЕЦ ПОВТОРИ

КОНЕЦ

Укажите наименьшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что по результатам работы этого алгоритма Чертёжник переместится из точки (-7, 1) в точку (17, 24).

Решение

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка) = (17, 24) - (-7, 1) = (24, 23).

(Алгоритм) = (24, 23).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (24, 23).

(Цикл) = (24, 23) - (Смещения вне цикла) = (24, 23) - (20, 11) = (4, 12).

Следовательно, (Цикл) = (4, 12).

Одна итерация цикла смещает на (a + 3, b - 1).

n итераций цикла смещают на (n · (a+3), n · (b-1)).

n · (a+3) = 4.

n · (b-1) = 12.

Поскольку мы работаем в целых числах, n принимает наибольшее значение равно наименьшему общему делителю (4, 12). При n > 1 это число 2.

Ответ: 2.

Ответ: 2
Показать решение
Бесплатный интенсив

Задача 16

Исполнитель Редактор умеет обрабатывать строку цифр. Редактор знает две команды:

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, команда

заменить(999,11)

преобразует строку 599999978 в строку 51199978.

Если в строке нет вхождений цепочки v, то выполнение команды

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

не меняет эту строку.

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

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение истина, в противном случае возвращает значение ложь. Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие

последовательность команд

КОНЕЦ ПОКА

означает, что последовательность команд выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

На вход подаётся строка, в начале которой стоит знак "!", а затем в произвольном порядке 20 единиц, 40 двоек, 30 троек, 10 четвёрок. Укажите количество четвёрок в строке, полученной в результате применения алгоритма к данной строке.

НАЧАЛО

ПОКА нашлось (!1) ИЛИ нашлось (!2) ИЛИ нашлось (!3) ИЛИ нашлось (!4)

ЕСЛИ нашлось (!1)

ТО заменить (!1, 1244!)

КОНЕЦ ЕСЛИ

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

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

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!3)

ТО заменить (!3, 422!)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!4)

ТО заменить (!4, 111!)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Решение

Заметим, что при каждом преобразовании, заменяется цифра, находящаяся сразу после "!", а цифры, полученные после преобразования, оказываются справа от знака "!". Следовательно, каждый символ преобразуется ровно один раз.

Одна единица заменяется на "1244". Значит 20 единиц заменятся на 20 единиц, 20 двоек и 40 четвёрок.

Одна двойка заменяется на "412". Значит 40 двоек заменятся на 40 единиц, 40 двоек и 40 четвёрок.

Одна тройка заменяется на "422". Значит 30 троек заменятся на 60 двоек и 30 четвёрок.

Одна четвёрка заменяется на три единицы. Значит 10 четвёрок заменятся на 30 единиц.

Общее количество четвёрок в итоговой строке: 40+40+30=110.

Ответ: 110.

Ответ: 110
Показать решение
Бесплатный интенсив

Задача 17

Исполнитель Редактор умеет обрабатывать строку цифр. Редактор знает две команды:

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, команда

заменить(999,11)

преобразует строку 599999978 в строку 51199978.

Если в строке нет вхождений цепочки v, то выполнение команды

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

не меняет эту строку.

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

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение истина, в противном случае возвращает значение ложь. Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие

последовательность команд

КОНЕЦ ПОКА

означает, что последовательность команд выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

На вход подаётся строка, в начале которой стоит знак "!", а затем в произвольном порядке 5 единиц, 10 двоек, 15 троек, 20 четвёрок. Укажите количество единиц в строке, полученной в результате применения алгоритма к данной строке.

НАЧАЛО

ПОКА нашлось (!1) ИЛИ нашлось (!2) ИЛИ нашлось (!3) ИЛИ нашлось (!4)

ЕСЛИ нашлось (!1)

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

КОНЕЦ ЕСЛИ

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

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

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!3)

ТО заменить (!3, 1!)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (!4)

ТО заменить (!4, 12!3)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Решение

Распишем, как меняется каждая цифра отдельно от других:

!1 заменится на 1!2. 1!2 заменится на 12!4. 12!4 заменится на 1212!3. 1212!3 заменится на 12121!

!2 заменится на 2!4. 2!4 заменится на 212!3. 212!3 заменится на 2121!

!3 заменится на 1!

!4 заменится на 12!3. 12!3 заменится на 121!

Одна единица заменяется на "12121". Значит 5 единиц заменятся на 15 единиц и 10 двоек.

Одна двойка заменяется на "2121". Значит 10 двоек заменятся на 20 единиц и 20 двоек.

Одна тройка заменяется на "1". Значит 15 троек заменятся на 15 единиц.

Одна четвёрка заменяется на "121". Значит 20 четвёрок заменятся на 40 единиц и 20 двоек.

Общее количество единиц в итоговой строке: 15 + 20 + 15 + 40 = 90.

Ответ: 90

Ответ: 90
Показать решение
Бесплатный интенсив

Задача 18

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

ПОВТОРИ n РАЗ

Сместиться на (a, b)

Сместиться на (-2, 12)

КОНЕЦ ПОВТОРИ

ПОВТОРИ 4 РАЗА

Сместиться на (1, 3)

Сместиться на (2, -1)

КОНЕЦ ПОВТОРИ

Сместиться на (3, 22)

КОНЕЦ

Укажите наименьшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что по результатам работы этого алгоритма Чертёжник окажется в той же точке, из которой начал движение.

Решение

Заменим цикл, повторяющийся 4 раза, на одну команду смещения:

За одну итерацию этот цикл смещает на (3, 2).

За 4 итерации этот цикл смещает на (12, 8).

Поэтому заменим этот цикл на команду Сместиться на (12, 8).

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка).

Поскольку конечная точка совпадает с начальной, из разность равна нулю.

(Алгоритм) = (0, 0).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (0, 0).

(Цикл) = (0, 0) - (Смещения вне цикла) = (0, 0) - (12, 8) - (3, 22) = (-15, -30).

Следовательно, (Цикл) = (-15, -30).

Одна итерация цикла смещает на (a - 2, b + 12).

n итераций цикла смещают на (n · (a-2), n · (b+12)).

n · (a-2) = -15.

n · (b+12) = -30.

Поскольку мы работаем в целых числах, n принимает наименьшее значение = наименьшему общему делителю (-15, -30). При n > 1 это 3.

Ответ: 3.

Ответ: 3
Показать решение
Бесплатный интенсив

Задача 19

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить(222,58)

преобразует строку 45222222234 в строку 4558222234.

Если в строке нет вхождений цепочки v, то выполнение команды

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

не меняет эту строку.

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

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение истина, в противном случае возвращает значение ложь. Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие

последовательность команд

КОНЕЦ ПОКА

означает, что последовательность команд выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 101 идущих подряд цифр 7? В ответе запишите полученную строку.

НАЧАЛО

ПОКА нашлось (111) ИЛИ нашлось (777)

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

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

ИНАЧЕ заменить (777, 1)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Решение

Выпишем первые несколько строк, которые будут являться результатом работы исполнителя после входа в цикл ПОКА.

Заметим, что на каждом четвёртом шаге входная строка имеет одинаковое строение. Например, рассмотрим значение входной строки на 1, 5, 9, 13, . . . шагах.

На шаге 1 строка состоит только из цифр 7. Всего в строке 101 цифра. На каждом из шагов: 5, 9, 13, . . . - входная строка также состоит только из цифры 7, при этом в каждой из перечисленных строк количество цифр уменьшается на 8. Так, на шаге 5 в строке 93 (= 101 - 8) цифр. На шаге 9 в строке 85 (= 93 - 8) цифр.

Шаг Входная строка нашлось(111) заменить(111,7) заменить(777,1)
1 ${7...7}↙{⏟}↙{101}$ нет - $1{7...7}↙{⏟}↙{98}$
2 $1{7...7}↙{⏟}↙{98}$ нет - $11{7...7}↙{⏟}↙{95}$
3 $11{7...7}↙{⏟}↙{95}$ нет - $111{7...7}↙{⏟}↙{92}$
4 $111{7...7}↙{⏟}↙{92}$ да $7{7...7}↙{⏟}↙{92}$ -
5 ${7...7}↙{⏟}↙{93}$ нет - $1{7...7}↙{⏟}↙{90}$
6 $1{7...7}↙{⏟}↙{90}$ нет - $11{7...7}↙{⏟}↙{87}$
7 $11{7...7}↙{⏟}↙{87}$ нет - $111{7...7}↙{⏟}↙{84}$
8 $111{7...7}↙{⏟}↙{84}$ да $7{7...7}↙{⏟}↙{84}$ -
9 ${7...7}↙{⏟}↙{85}$ нет - $1{7...7}↙{⏟}↙{82}$
...        

Количество цифр исходной строки на каждом четвёртом шаге цикла уменьшается на 8. Если мы разделим количество цифр в исходной последовательности на 8, то целая часть результата деления, умноженная на 4, будет номером шага, на котором входная строка будет состоять только из цифр 7.

101/8 = 12.625; 12 · 4 = 48.

Следовательно, на 48 шаге цикла входная строка будет состоять только из цифры 7. При этом в строке будет 101 - 8 · 12 = 5 цифр.

Рассмотрим последующие шаги цикла, начиная с входной последовательности 77777.

Шаг Входная строка нашлось(111) заменить(111,7) заменить(777,1)
48 77777 нет - 177
49 177 нет - -

Так как для числа 177 условие нашлось (111) ИЛИ нашлось (777), входящее в цикл ПОКА, ложно, то на этом цикл заканчивает свою работу. В результате будет получена строка 177.

Ответ: 177.

Ответ: 177
Показать решение
Бесплатный интенсив

Задача 20

Исполнитель Чертёжник перемещается по координатной плоскости с помощью команды Сместиться на (a, b) , где a, b - целые числа. Данная команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (-2, 3) переместит Чертёжника в точку (2, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1):

НАЧАЛО

Сместиться на (2, 4)

ПОВТОРИ n РАЗ

Сместиться на (2a, b+1)

Сместиться на (5, -1)

КОНЕЦ ПОВТОРИ

Сместиться на (8, -9)

КОНЕЦ

Укажите произведение значений переменных a и b для наибольшего возможного значения числа n такого, что по результатам работы этого алгоритма Чертёжник переместится из точки (4, -1) в точку (50, 18).

Решение

Общая схема работы алгоритма:

(Начальная точка) + (Алгоритм) = (Конечная точка).

Тогда:

(Алгоритм) = (Конечная точка) - (Начальная точка) = (50, 18) - (4, -1).

(Алгоритм) = (46, 19).

Распишем, что из себя представляет алгоритм:

(Смещения вне цикла) + (Цикл) = (Алгоритм) = (46, 19).

(Цикл) = (46, 19) - (Смещения вне цикла) = (46, 19) - (2, 4) - (8, -9) = (36, 24).

Следовательно, (Цикл) = (36, 24).

Одна итерация цикла смещает на (2a + 5, b).

n итераций цикла смещают на (n · (2a + 5), n · (b)).

n · (2a + 5) = 36.

n · (b) = 24.

Поскольку мы работаем в целых числах, n принимает наибольшее значение = НОД (36, 24) = 12.

12 · (2a + 5) = 36.

2a+5 = 3.

a = -1.

12 · (b) = 24.

b = 2.

a · b = -1 · 2 = -2.

Ответ: -2.

Ответ: -2
Показать решение
Бесплатный интенсив
Показать еще
  • Без воды
  • Ламповая атмосфера
  • Крутые преподаватели

ЕГЭ 2026: бесплатный курс
по информатике

На бесплатном демо-курсе ты:
  • Узнаешь всё про кодирование: что это такое и как происходит
  • Познакомишься с Условием Фано: как оно примняется и почему важно
  • Научишься считать колиечтсво информации и сколько под неё нужно выделить памяти
Получи бесплатный демо-доступ
Оставь заявку и займи место
на бесплатном курсе Турбо ЕГЭ
Нажимая на кнопку «Отправить», вы принимаете положение об обработке персональных данных.