РУҚА
ЕГЭ · информатика · решения по теме

Решения заданий ФИПИ ЕГЭ по информатике: «Алгоритмы и исполнители» — с ответами

Каждая задача темы из открытого банка ФИПИ — с ответом и первыми шагами разбора. Полное решение по шагам и официальный ключ — по ссылкам в карточке.

Задания без решений
432
решений с ответами
2 435
задач в предмете
22
страниц списка
261ФИПИ 24EE48№ 23Повышенная

Подсчёт программ Вычислителя

Исполнитель Вычислитель преобразует число на экране. У него есть две команды: «Прибавить 1» и «Умножить на 2». Программа для Вычислителя — это последовательность команд. Сколько существует программ…

  1. 1
    Сначала подсчитаем количество программ, переводящих число 2 в число 14. Обозначим это количество через $f(n)$. Для команды «Прибавить 1» используется переход из $n-1$, а для команды «Умножить на 2» — из $n/2$, если $n$ чётно.$$f(n)=f(n-1)+f(n/2)\text{ при чётном }n;\quad f(n)=f(n-1)\text{ при нечётном }n$$
  2. 2
    Последовательно получаем: $f(2)=1$, $f(3)=1$, $f(4)=2$, $f(5)=2$, $f(6)=3$, $f(7)=3$, $f(8)=5$, $f(9)=5$, $f(10)=7$, $f(11)=7$, $f(12)=10$, $f(13)=10$, $f(14)=13$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
262ФИПИ 28BCD8№ 23Повышенная

Подсчёт программ через число 9

Исполнитель Вычислитель преобразует число, записанное на экране. Он умеет выполнять команды: прибавить 1, прибавить 2 и умножить на 3. Программа для Вычислителя — это последовательность команд…

  1. 1
    Так как все команды увеличивают число, траектория может содержать число 9 только один раз. Поэтому программу можно разделить на путь от 3 до 9 и путь от 9 до 14.
  2. 2
    Обозначим через $f(n)$ количество программ, переводящих число 3 в число $n$. Для $n$ от 4 до 9 учитываем последние команды: прибавление 1, прибавление 2 и умножение на 3.$$f(n)=f(n-1)+f(n-2)+[3\mid n]f(n/3)$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
263ФИПИ 2FC2EB№ 23Повышенная

Программы с траекторией 15

Исполнитель Соло преобразует число на экране. Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Соло — это последовательность команд. Сколько…

  1. 1
    Введём динамику: количество способов получить число складывается из количества способов получить его из предыдущего числа командой 1 и из числа, вдвое меньшего, командой 2.
  2. 2
    Так как траектория должна содержать число 15, разбиваем каждую программу на две части: путь от исходного числа 2 до числа 15 и путь от числа 15 до числа 45.

Ещё 1 шаг — в полном решении

Решение полностьюОтветРешать самому3 шага в разборе
264ФИПИ 313621№ 23Высокая

Подсчёт программ исполнителя

Исполнитель преобразует число, записанное на экране. Он выполняет три команды: прибавить 1, прибавить 2 и умножить на 2. Сколько существует программ, которые преобразуют исходное число 3 в число 13…

  1. 1
    Так как все команды увеличивают число, числа 10 и 12 в траектории встречаются именно в таком порядке. Поэтому количество подходящих программ равно произведению числа способов пройти участки $3\to10$, $10\to12$ и $12\to13$.$$N(3,13;\ 10,12)=N(3,10)\cdot N(10,12)\cdot N(12,13)$$
  2. 2
    Для участка от 3 до 10 подсчётом по последней команде получаем последовательность количества путей: $f(3)=1$, $f(4)=1$, $f(5)=2$, $f(6)=4$, $f(7)=6$, $f(8)=11$, $f(9)=17$, $f(10)=30$.$$N(3,10)=30$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
265ФИПИ 32F141№ 23Высокая

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. У исполнителя есть две команды: A — прибавь 1; B — поменяй местами. Команда A увеличивает число на экране на 1. Команда B применяется только к числу, у…

  1. 1
    Введём $f(n)$ — количество программ, переводящих исходное число 101 в число $n$. Для исходного числа $f(101)=1$.
  2. 2
    Переход по команде A возможен из числа $n-1$, поэтому он добавляет $f(n-1)$ способов.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
266ФИПИ 3F3DA7№ 23Повышенная

Траектория вычислений с числом 10

Исполнитель Вычислитель преобразует число, записанное на экране. У исполнителя есть три команды: прибавить 2, умножить на 2 и прибавить 3. Программа для Вычислителя — это последовательность команд…

  1. 1
    Введём динамическое подсчитывание количества программ, ведущих из одного числа в другое. Для попадания в число $x$ последняя команда могла быть одной из трёх: прибавление 2, умножение на 2 или прибавление 3.
  2. 2
    Отдельно подсчитываем программы перехода от исходного числа 2 к числу 10 и программы перехода от числа 10 к числу 21. По рекуррентному подсчёту получаем по 9 программ для каждого участка.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
267ФИПИ 43B305№ 23Повышенная

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. У него есть две команды: 1) «Вычти 1» — уменьшает число на 1; 2) «Найди целую часть от деления на 2» — заменяет число целой частью от деления на 2. Программа…

  1. 1
    Чтобы траектория содержала число 10, программа состоит из пути от 30 до 10 и пути от 10 до 1. Эти части можно комбинировать независимо.
  2. 2
    Обозначим через $f(n)$ число способов попасть из $n$ в 10. Используем рекуррентное соотношение $f(n)=f(n-1)+f(\lfloor n/2 \rfloor)$ и получаем $f(30)=12$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
268ФИПИ 498BC0№ 23Повышенная

Программы с траекторией через 9

Исполнитель Вычислитель преобразует число, записанное на экране. Он умеет выполнять команды: прибавить 1, прибавить 2 и умножить на 3. Программа для Вычислителя — это последовательность команд…

  1. 1
    Обозначим через $f(n)$ число программ, переводящих число 1 в число $n$. В число $n$ можно попасть командами «прибавить 1» и «прибавить 2», а также командой умножения на 3, если $n$ делится на 3.$$f(n)=f(n-1)+f(n-2)+\begin{cases}f(n/3),& n\mathbin{\vdots}3\\0,& n\text{ не делится на }3\end{cases}$$
  2. 2
    Последовательно вычисляя значения, получаем: $f(1)=1$, $f(2)=1$, $f(3)=3$, $f(4)=4$, $f(5)=7$, $f(6)=12$, $f(7)=19$, $f(8)=31$, $f(9)=53$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
269ФИПИ 4DC91D№ 23Повышенная

Программы с числом 12

Исполнитель Вычислитель преобразует число, записанное на экране. У исполнителя есть три команды: умножить число на 3, прибавить 2, прибавить 3. Программа для Вычислителя — это последовательность…

  1. 1
    Поскольку все команды увеличивают число, число 12 в траектории может встретиться только один раз. Поэтому число искомых программ равно произведению числа программ из 2 в 12 и числа программ из 12 в 21.$$N = N_{2\to12} \cdot N_{12\to21}$$
  2. 2
    Для подсчёта используем динамическое программирование. Для каждой точки складываем количества способов попасть в неё командами «прибавить 2», «прибавить 3» и «умножить на 3», если соответствующий переход возможен.$$f(x)=f(x-2)+f(x-3)+\begin{cases}f(x/3),&x\mathrel{\vdots}3\\0,&\text{иначе}\end{cases}$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
270ФИПИ 5576EB№ 23Повышенная

Подсчёт программ исполнителя Плюс

Исполнитель Плюс преобразует число на экране. У исполнителя есть две команды: прибавить 2 и прибавить 5. Программа для исполнителя Плюс — это последовательность команд. Сколько существует программ…

  1. 1
    Общая величина увеличения числа должна составить $20 - 1 = 19$.
  2. 2
    Пусть команда «прибавить 2» выполнена $a$ раз, а команда «прибавить 5» — $b$ раз. Тогда $2a + 5b = 19$.

Ещё 4 шага — в полном решении

Решение полностьюОтветРешать самому6 шагов в разборе
271ФИПИ 634A12№ 23Повышенная

Подсчёт программ по траектории

Исполнитель Вычислитель преобразует число, записанное на экране. Команды исполнителя: прибавить 1, прибавить 2 и умножить на 2. Сколько существует программ, которые исходное число 4 преобразуют в…

  1. 1
    Обозначим через $f(n)$ количество программ, переводящих число 4 в число $n$. Для перехода в $n$ последней могла быть команда прибавления 1, прибавления 2 или умножения на 2.$$f(n)=f(n-1)+f(n-2)+f(n/2)$$
  2. 2
    Последнее слагаемое учитывается только для чётных $n$. Получаем значения до числа 11:$$f(4)=1,\ f(5)=1,\ f(6)=2,\ f(7)=3,\ f(8)=6,\ f(9)=9,\ f(10)=16,\ f(11)=25$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
272ФИПИ 63A59E№ 23Высокая

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. У исполнителя есть три команды: прибавить 1, умножить на 2 и умножить на 3. Программа для исполнителя — это последовательность команд. Сколько существует…

  1. 1
    Введём динамическое программирование: для каждого числа считаем количество программ, которые приводят к нему. Последний шаг в такую точку мог быть выполнен командами $+1$, $\times 2$ или $\times 3$.
  2. 2
    Посчитаем количество способов попасть из 1 в 11. Для числа $n$ учитываются переходы из $n-1$, $n/2$ и $n/3$, если соответствующие значения являются целыми.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
273ФИПИ 69FC66№ 23Повышенная

Подсчёт программ Вычислителя

Исполнитель Вычислитель преобразует число на экране. Он выполняет две команды: прибавить 1 и умножить на 2. Программа для Вычислителя — это последовательность команд. Сколько существует программ…

  1. 1
    Обозначим через $f(n)$ количество программ, переводящих число 1 в число $n$. Для нечётного $n$ последняя команда может быть только «прибавить 1», а для чётного — также «умножить на 2». Поэтому используем рекуррентное правило.$$f(n)=f(n-1)+f(n/2)\text{ при чётном }n;\quad f(n)=f(n-1)\text{ при нечётном }n$$
  2. 2
    Последовательно получаем значения: $f(1)=1$, $f(2)=2$, $f(3)=2$, $f(4)=4$, $f(5)=4$, $f(6)=6$, $f(7)=6$, $f(8)=10$, $f(9)=10$, $f(10)=14$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
274ФИПИ 6A4232№ 23Повышенная

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

Исполнитель К17 преобразует число, записанное на экране. У исполнителя есть три команды: прибавить 1, прибавить 2 и умножить на 2. Программа для исполнителя К17 — это последовательность команд…

  1. 1
    Поскольку каждая команда увеличивает число, программа, содержащая в траектории числа 9 и 11, сначала должна попасть в 9, затем в 11.
  2. 2
    Посчитаем динамически число способов попасть из 3 в каждое число с помощью команд «+1», «+2» и «×2». Для чисел от 3 до 9 получаем: $1, 1, 2, 4, 6, 11, 17$. Значит, $N(3 \to 9)=17$.$$N(x)=N(x-1)+N(x-2)+[x\ \text{чётно}]N\left(\frac{x}{2}\right)$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
275ФИПИ 6C2CD5№ 23Высокая

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. У исполнителя есть три команды, обозначенные латинскими буквами: A — прибавить 1, B — прибавить 2, C — умножить на 2. Программа для исполнителя — это…

  1. 1
    Обозначим через $f(n)$ число способов получить число $n$ из 4, не попадая в 6. Для числа 6 полагаем $f(6)=0$, так как траектория не должна содержать 6.
  2. 2
    Последовательно получаем значения: $f(4)=1$, $f(5)=1$, $f(6)=0$, $f(7)=1$, $f(8)=2$, $f(9)=3$, $f(10)=6$, $f(11)=9$, $f(12)=15$, $f(13)=24$, $f(14)=40$, $f(15)=64$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
276ФИПИ 6CF4FF№ 23Высокая

Количество программ через число 8

Исполнитель преобразует число на экране. У исполнителя есть две команды: A — вычти 2; B — найди целую часть от деления на 2. Программа для исполнителя — это последовательность команд. Сколько…

  1. 1
    Так как траектория должна содержать число 8, каждую подходящую программу можно единственным образом разделить на путь от 36 до 8 и путь от 8 до 2.
  2. 2
    Обозначим через $f(n)$ количество способов попасть из числа $n$ в 8. Для $n > 8$ используем переходы по командам A и B: $f(n)=f(n-2)+f(\lfloor n/2\rfloor)$, при этом $f(8)=1$. Последовательное вычисление даёт $f(36)=10$.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
277ФИПИ 6DB421№ 23Высокая

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. У исполнителя есть три команды, обозначенные латинскими буквами: A — прибавить 1; B — умножить на 2; C — возвести в квадрат. Программа для исполнителя — это…

  1. 1
    Обозначим через $f(n)$ количество программ, переводящих число 2 в число $n$ без попадания в 11. Для числа 2 имеем $f(2)=1$.
  2. 2
    Число $n$ можно получить командой A из $n-1$, командой B из $n/2$ при чётном $n$ и командой C из $\sqrt{n}$, если $n$ является полным квадратом.

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
278ФИПИ 7173AE№ 23Повышенная

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

Исполнитель Минус преобразует число на экране. У исполнителя есть две команды: вычесть 2 и вычесть 5. Программа для исполнителя Минус — это последовательность команд. Сколько существует программ…

  1. 1
    Общее уменьшение числа при переходе от 23 к 2 равно 21.$$23 - 2 = 21$$
  2. 2
    Пусть команда «вычесть 2» выполнена $a$ раз, а команда «вычесть 5» — $b$ раз. Тогда $2a+5b=21$. Возможны два решения: $(a,b)=(8,1)$ и $(a,b)=(3,3)$.

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе
279ФИПИ 765FFF№ 23Повышенная

Подсчёт программ исполнителя

Исполнитель преобразует число на экране. Он выполняет команды: прибавить 2, прибавить 3 и умножить число на 2. Программа исполнителя — это последовательность команд. Сколько существует программ…

  1. 1
    Так как все команды увеличивают число, любую подходящую программу можно однозначно разделить в точке, где впервые получается число 10.
  2. 2
    Количество способов получения каждого числа вычисляем рекуррентно: число способов попасть в $x$ равно сумме количеств способов попасть в $x-2$, $x-3$ и $x/2$, если $x$ чётно. При подсчёте программ от 10 до 25 способы, проходящие через 17…

Ещё 2 шага — в полном решении

Решение полностьюОтветРешать самому4 шага в разборе
280ФИПИ 791F51№ 23Повышенная

Количество программ исполнителя Плюс

Исполнитель Плюс преобразует число на экране. У исполнителя есть две команды: прибавить 2 и прибавить 5. Первая команда увеличивает число на экране на 2, вторая увеличивает это число на 5. Программа…

  1. 1
    От числа 1 до числа 21 нужно увеличить значение на 20.$$21 - 1 = 20$$
  2. 2
    Пусть $a$ — количество команд «прибавить 2», а $b$ — количество команд «прибавить 5». Тогда$$2a + 5b = 20$$

Ещё 3 шага — в полном решении

Решение полностьюОтветРешать самому5 шагов в разборе