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

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

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

Задания без решений
432
решений с ответами
2 435
задач в предмете
22
страниц списка
381ФИПИ BED6E1№ 25Высокая

Минимальная стоимость вывоза мусора

На каждом 3-м километре кольцевой автодороги с двусторонним движением установлены контейнеры для мусора. Длина кольцевой автодороги равна $3N$ километров. Нулевой километр и $3N$-й километр…

  1. 1
    Пронумеруем пункты от $0$ до $N-1$, а количество мусора в пункте $i$ обозначим через $a_i$. Расстояние между пунктами $i$ и $j$ равно $3\cdot\min(|i-j|,N-|i-j|)$.
  2. 2
    Для центра в пункте $0$ вычислим начальную стоимость $C_0$, просуммировав для каждого пункта произведение количества мусора на кратчайшее расстояние до пункта $0$.

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

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

Минимальное число по алгоритму

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если $N$ чётное, к этой записи справа приписываются…

  1. 1
    Проверим числа, меньшие 16. Числа от 1 до 7 имеют не более трёх двоичных разрядов, поэтому после преобразования дают число меньше 190. Для чисел от 8 до 15 рассмотрим наибольшие возможные результаты.
  2. 2
    Для чётного числа $N$ к двоичной записи приписываются слева единица и справа два нуля. Для $N=14$ имеем $14_{10}=1110_2$, поэтому $R=1111000_2=120_{10}$.$$1110_2\to1111000_2=120_{10}$$

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

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

Результат работы цикла

Запишите число, которое будет напечатано в результате выполнения программы. В программе переменная $s$ принимает начальное значение $48$, переменная $n$ — значение $1$. Пока $s > 0$, из $s$…

  1. 1
    Определим количество выполнений цикла. Начальное значение $s = 48$, на каждом шаге из него вычитается $7$.$$48 - 7k \leq 0$$
  2. 2
    Минимальное целое значение $k$, удовлетворяющее неравенству, равно $7$. Значит, цикл выполняется семь раз.$$k = 7$$

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

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

Результат работы цикла

Запишите число, которое будет напечатано в результате выполнения программы. Во всех вариантах программы переменная $s$ получает значение $30$, переменная $n$ — значение $1$. Пока $s > 0$…

  1. 1
    Определим значения переменной $s$ после последовательных итераций цикла:$$30 \to 23 \to 16 \to 9 \to 2 \to -5$$
  2. 2
    После пятой итерации значение $s$ становится отрицательным, поэтому цикл выполнится $5$ раз.$$k = 5$$

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

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

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 3, 4, 2, 9, 5, 1, 8, 2, 1, 7 соответственно, то есть $A[0]=3$, $A[1]=4$ и т. д…

  1. 1
    Начинаем с массива $[3,4,2,9,5,1,8,2,1,7]$ и устанавливаем $c=0$.
  2. 2
    При $i=1$: $3<4$, выполняется обмен, $c=1$. Массив становится $[4,3,2,9,5,1,8,2,1,7]$.

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

Решение полностьюОтветРешать самому10 шагов в разборе
386ФИПИ CF0CC8№ 25Повышенная

Программа для Квадратора

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

  1. 1
    Начинаем с числа 1. Дважды применяем команду 2, прибавляя по 1:$$1 \xrightarrow{2} 2 \xrightarrow{2} 3$$
  2. 2
    К числу 3 применяем команду 1 — возводим в квадрат:$$3^2 = 9$$

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

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

Сумма элементов, не делящихся на 11

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от $-10\,000$ до $10\,000$ включительно. Опишите на естественном языке или на одном из языков…

  1. 1
    Заведём переменную $j$ для накопления суммы и обнулим её.$$j = 0$$
  2. 2
    Переберём все 20 элементов массива. Элемент добавляется к сумме только в том случае, если остаток от деления на 11 не равен нулю.$$a[i] \bmod 11 \ne 0$$

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

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

Замена элементов массива

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит…

  1. 1
    Сначала выбираем любой элемент, не делящийся на 6, в качестве начального минимума. Затем просматриваем массив и обновляем минимум при нахождении меньшего подходящего элемента.$$a[i] \bmod 6 \ne 0$$
  2. 2
    После нахождения минимума ещё раз просматриваем массив. Каждый элемент, не делящийся на 6, заменяем найденным минимумом и выводим.$$a[i] := j \text{ при } a[i] \bmod 6 \ne 0$$

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

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

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 2, 5, 4, 8, 7, 1, 0, 3, 9, 6 соответственно, то есть $A[0] = 2$, $A[1] = 5$ и так далее…

  1. 1
    В начале $A[0]=2$, $c=0$. При $i=1$: $A[1]=5>2$, поэтому происходит обмен, $A[0]$ становится равным 5, а $c=1$.$$A[0]=5,\quad c=1$$
  2. 2
    При $i=2$: $A[2]=4\not>5$, обмена нет. При $i=3$: $A[3]=8>5$, происходит обмен, $A[0]$ становится равным 8, а $c=2$.$$A[0]=8,\quad c=2$$

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

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

Замена элементов массива

Дан целочисленный массив из 30 элементов. Элементы массива принимают натуральные значения от 1 до 10 000 включительно. Опишите на языке программирования алгоритм, который находит минимум среди…

  1. 1
    Для поиска минимума используем переменную k. Так как все элементы не превосходят 10 000, начальное значение k можно взять равным 10 001.$$k = 10001$$
  2. 2
    Первым циклом перебираем все элементы массива. Если элемент не делится на 8 и меньше текущего минимума, записываем его в k.$$a[i] \% 8 \ne 0 \land a[i] < k$$

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

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

Максимальное число после обработки

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Строится двоичная запись числа $N$. Если число $N$ делится на 3, то к этой записи…

  1. 1
    Если $N$ делится на 3, к двоичной записи дописываются три цифры, поэтому значение увеличивается в 8 раз и затем прибавляется число, заданное последними тремя цифрами.
  2. 2
    Если $N \bmod 3 = 1$, дописывается двоичная запись числа 3, то есть $11_2$. Поэтому $R=4N+3$.

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

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

Вычисление суммы при обменах

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 20, 19, 37, 41, 15, 42, 24, 56, 4, 13 соответственно, то есть $A[0]=20$, $A[1]=19$ и так…

  1. 1
    Начальное значение: $s=0$, $A[1]=19$.$$s=0$$
  2. 2
    При $i=0$: $20\geq19$, поэтому к сумме прибавляется $20-19=1$. После обмена $A[1]=20$; $s=1$.$$s=0+(20-19)=1$$

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

Решение полностьюОтветРешать самому7 шагов в разборе
393ФИПИ DBA49E№ 25Высокая

Поиск пары с максимальной суммой

На вход программы поступает последовательность из $n$ целых положительных чисел. Рассматриваются все пары элементов последовательности $a_i$ и $a_j$, такие что $i < j$ и $a_i > a_j$. Среди пар…

  1. 1
    Обрабатываем последовательность слева направо. Поэтому все числа, сохранённые к моменту обработки $a_j$, имеют индексы меньше $j$.
  2. 2
    Для текущего числа $a_j$ допустимая сумма должна делиться на $109$. Если $r = a_j \bmod 109$, то предыдущий элемент должен иметь остаток $(109-r) \bmod 109$.

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

Решение полностьюОтветРешать самому7 шагов в разборе
394ФИПИ DCA4FE№ 25Повышенная

Подсчёт элементов по остатку

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования…

  1. 1
    Заведём переменную-счётчик $j$ и установим её начальное значение равным нулю.$$j = 0$$
  2. 2
    Переберём все элементы массива. Если остаток от деления элемента на 3 не равен нулю, этот элемент не делится на 3, поэтому увеличим счётчик.$$a[i] \% 3 \ne 0 \Rightarrow j = j + 1$$

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

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

Максимальное значение N

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. 1. Строится двоичная запись числа $N$. 2. Далее эта запись обрабатывается по следующему…

  1. 1
    Если $N$ делится на 3, дописываются три последние двоичные цифры числа $N$. Их значение равно $N \bmod 8$, поэтому$$R=8N+(N\bmod 8)$$
  2. 2
    Для чисел, делящихся на 3, условию $R<76$ удовлетворяет, в частности, $N=9$: $R=8\cdot9+1=73$. Следующее такое число, $N=12$, уже даёт $R>76$.

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

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

Максимальная сумма соседних элементов

Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна…

  1. 1
    Пара последовательных элементов может начинаться с любого номера от 1 до 29.
  2. 2
    Сначала принимаем первой парой элементы с номерами 1 и 2: сохраняем их сумму и номер 1.

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

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

Минимальное число после обработки

На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом. Сначала строится двоичная запись числа $N$. Если сумма цифр в двоичной записи чётная, к…

  1. 1
    Проверяем числа по возрастанию. Для $N=21$ двоичная запись имеет нечётное число единиц:$$21_{10}=10101_2$$
  2. 2
    Поэтому справа дописывается $1$, затем первые два разряда заменяются на $11$:$$10101_2\to101011_2\to111011_2=59_{10}$$

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

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

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны $3, 1, 7, 6, 5, 4, 8, 2, 9, 0$ соответственно, то есть $A[0]=3$, $A[1]=1$ и т. д…

  1. 1
    Начинаем с массива $[3,1,7,6,5,4,8,2,9,0]$ и $s=0$. При $j=0$ выполняется условие $3>1$, поэтому $s=1$, после обмена массив становится $[1,3,7,6,5,4,8,2,9,0]$.$$s=1$$
  2. 2
    При $j=1$ условие $3>7$ ложно. При $j=2$ выполняется $7>6$: $s=2$, после обмена массив становится $[1,3,6,7,5,4,8,2,9,0]$.$$s=2$$

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

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

Подсчёт обменов в массиве

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 1, 7, 8, 4, 1, 1, 2, 2, 9, 5 соответственно, то есть $A[0] = 1$, $A[1] = 7$ и т. д…

  1. 1
    Начинаем с массива $(1, 7, 8, 4, 1, 1, 2, 2, 9, 5)$ и $c=0$. При $i=1$ выполняется условие $1<7$, поэтому происходит обмен и $c=1$.
  2. 2
    После обмена при $i=2$ сравниваются $1$ и $8$: условие выполняется, $c=2$. При $i=3$ сравниваются $1$ и $4$: условие также выполняется, $c=3$.

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

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

Моделирование работы массива

В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 20, 19, 17, 41, 15, 12, 24, 16, 4, 13 соответственно, то есть $A[0] = 20$, $A[1] = 19$ и…

  1. 1
    Изначально $A[6] = 24$ и $s = 0$. При $i = 0, 1, 2$ условие выполняется. После обменов значение $A[6]$ последовательно становится равным 20, 19 и 17, а $s = 0 + 1 + 2 = 3$.$$s = 0 + 1 + 2 = 3$$
  2. 2
    При $i = 3$ условие не выполняется, поскольку $A[3] = 41 > 17$. При $i = 4$ и $i = 5$ условие выполняется, поэтому $s = 3 + 4 + 5 = 12$.$$s = 3 + 4 + 5 = 12$$

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

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