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

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

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

Задания без решений
160
решений с ответами
2 435
задач в предмете
8
страниц списка
101ФИПИ DB7883№ 16Повышенная

Рекуррентная функция и факториал

Алгоритм вычисления значения функции $F(n)$, где $n$ — натуральное число, задан следующими соотношениями: $F(n)=1$ при $n=1$; $F(n)=2\times n\times F(n-1)$, если $n>1$. Чему равно значение выражения…

  1. 1
    По рекуррентной формуле выразим $F(4028)$ через $F(4027)$:$$F(4028)=2\cdot4028\cdot F(4027)$$
  2. 2
    Преобразуем числитель выражения:$$F(4028)-2F(4027)=(2\cdot4028-2)F(4027)=8054F(4027)$$

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

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

Рекуррентная функция F

Алгоритм вычисления значения функции $F(n)$, где $n$ — натуральное число, задан следующими соотношениями: $F(n)=6$ при $n<7$; $F(n)=n+F(n-1)$, если $n\geqslant 7$. Чему равно значение выражения…

  1. 1
    По рекуррентному соотношению:$$F(2023)=2023+F(2022)$$
  2. 2
    Аналогично:$$F(2022)=2022+F(2021)$$

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

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

Рекурсивный алгоритм F

Ниже записан рекурсивный алгоритм $F$. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова $F(7)$. Числа должны быть записаны в том же…

  1. 1
    Вызов $F(7)$ выводит число $7$, затем последовательно вызывает $F(4)$ и $F(3)$.$$F(7) \to 7,\ F(4),\ F(3)$$
  2. 2
    Вызов $F(4)$ выводит $4$. Вызов $F(1)$ выводит $1$, а затем вызов $F(2)$ выводит $2$ и после вызова $F(-1)$ вызывает $F(1)$, который выводит $1$.$$F(4) \to 4,1,2,1$$

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

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

Вывод рекурсивной функции

Ниже на пяти языках программирования записан рекурсивный алгоритм F. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны…

  1. 1
    При n \le 2 функция сразу завершается, поэтому значения 1 и 2 не выводятся.
  2. 2
    Вызов F(3) сначала выполняет F(1) и F(2), затем выводит 3.

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

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

Вывод рекурсивной функции

Ниже на пяти языках программирования записан рекурсивный алгоритм F. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(4). Числа должны…

  1. 1
    При вызове F(4) сначала выводится 4, затем выполняются вызовы F(2) и F(3).$$F(4) \to 4, F(2), F(3)$$
  2. 2
    Вызов F(2) выводит 2, затем вызывает F(0) и F(1). Вызов F(0) ничего не выводит, а F(1) выводит 1.$$F(2) \to 2, F(0), F(1) \to 21$$

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

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

Разность значений рекурсивной функции

Алгоритм вычисления значения функции $F(n)$, где $n$ — натуральное число, задан следующими соотношениями: $F(n)=3$ при $n=1$; $F(n)=n+2+F(n-1)$, если $n>1$. Чему равно значение выражения…

  1. 1
    По рекуррентной формуле разность соседних значений функции равна:$$F(n)-F(n-1)=n+2$$
  2. 2
    Разложим искомую разность на сумму двух разностей:$$F(2023)-F(2021)=[F(2023)-F(2022)]+[F(2022)-F(2021)]$$

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

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

Разность значений рекурсивной функции

Алгоритм вычисления функции $F(n)$, где $n$ — целое число, задан следующими соотношениями: $F(n)=n$, если $n<10$; $F(n)=n^2+F(n-9)$, если $n\ge 10$. Чему равно значение выражения $F(5101)-F(5074)$?

  1. 1
    Раскроем рекурсивную формулу для $F(5101)$:$$F(5101)=5101^2+F(5092)=5101^2+5092^2+F(5083)=5101^2+5092^2+5083^2+F(5074)$$
  2. 2
    Вычтем $F(5074)$. Одинаковые части сокращаются:$$F(5101)-F(5074)=5101^2+5092^2+5083^2$$

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

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

Вывод рекурсивной функции

Ниже на пяти языках программирования записан рекурсивный алгоритм $F$. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова $F(4)$. Числа…

  1. 1
    При вызове $F(4)$ сначала выводится число $4$. Затем выполняются два вызова $F(3)$.$$4$$
  2. 2
    Первый вызов $F(3)$ выводит $3$, после чего два вызова $F(2)$ выводят по $2$ каждый.$$3\,2\,2$$

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

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

Рекурсивное вычисление функций

Алгоритм вычисления функций $F(n)$ и $G(n)$, где $n$ — целое число, задан следующими соотношениями: $F(n)=2\cdot(G(n-3)+8)$; $G(n)=2\cdot n$, если $n<10$; $G(n)=G(n-2)+1$, если $n\geq 10$. Чему…

  1. 1
    В формуле для $F(15548)$ аргумент функции $G$ равен $15548-3=15545$.$$F(15548)=2\cdot(G(15545)+8)$$
  2. 2
    Так как $15545\geq 10$, применяем рекуррентное соотношение для $G$. Аргумент уменьшается на 2 до значения 9.$$G(15545)=G(9)+\frac{15545-9}{2}$$

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

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

Вычисление рекурсивной функции

Алгоритм вычисления значения функции $F(n)$, где $n$ — целое неотрицательное число, задан следующими соотношениями: $F(n)=0$ при $n\leq 1$; $F(n)=2\cdot F(n-1)+2$, если $n>1$ и $n$ нечётно…

  1. 1
    Вычисляем значения функции последовательно, начиная с $F(1)=0$: $F(2)=1$, $F(3)=4$, $F(4)=6$, $F(5)=14$, $F(6)=17$.
  2. 2
    Продолжая вычисления по тем же правилам, получаем: $F(23)=12260$, $F(24)=12272$, $F(25)=2\cdot12272+2=24546$.

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

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

Подсчёт программ с числом 11

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

  1. 1
    Обозначим через $f(n)$ количество программ, переводящих число n в число 1. Для числа 1 имеем $f(1)=1$. Для остальных чисел последняя команда перед переходом из n может быть применена после получения числа $n-1$ или числа…$$f(n)=f(n-1)+f(\lfloor n/2 \rfloor)$$
  2. 2
    Последовательно вычисляя значения от 1 до 11, получаем $f(11)=37$.

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

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

Исправление программы с минимумом

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество делящихся…

  1. 1
    Из чисел 18, 15, 6 и 10 делятся на 5 числа 15 и 10. Поэтому переменная count получает значение 2.$$count = 2$$
  2. 2
    При обработке числа 15 условие x > minimum выполняется: 15 > 0, поэтому minimum становится равным 15. При обработке числа 10 условие 10 > 15 ложно, поэтому minimum остаётся равным 15.$$minimum = 15$$

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

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

Исправление программы поиска минимума

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество не делящихся…

  1. 1
    Из последовательности 2 19 24 3 числа 2 и 19 не делятся на 3, поэтому count станет равным 2. Числа 24 и 3 делятся на 3.
  2. 2
    Переменная minimum изначально равна 1. Для числа 2 условие x < minimum ложно, поэтому значение minimum не изменяется. Для числа 19 условие также ложно. Программа выводит количество 2 и значение minimum 1.$$2\newline1$$

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

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

Исправление программы подсчёта цифр

Требовалось написать программу, которая получает на вход натуральное число $N$, не превосходящее $10^9$, и выводит число, равное количеству цифр 4 в десятичной записи числа $N$. Программист написал…

  1. 1
    При вводе 241 цифры извлекаются справа налево: 1, 4, 2. При текущем условии программа прибавляет к R все цифры, не равные 4.$$R = 1 + 2 = 3$$
  2. 2
    Следовательно, при вводе числа 241 программа выведет 3.

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

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

Исправление программы для степеней 7

Дано целое положительное число $N$, не превосходящее 1000. Нужно написать программу, которая определяет, является ли это число степенью числа 7: выводит на экран либо такое целое число $K$, что…

  1. 1
    При вводе $N = 49$ начальные значения: $n = 49$, $k = 0$. Условие цикла истинно, так как $0 \bmod 7 = 0$.
  2. 2
    После первой итерации получаем $k = 1$ и $n = 49 // 7 = 7$. Условие цикла становится ложным, так как $1 \bmod 7 \ne 0$.

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

Решение полностьюОтветРешать самому6 шагов в разборе
116ФИПИ 2312E4№ 24Высокая

Исправление программы обработки цифр

На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную цифру этого числа, меньшую 5. Если в числе нет цифр, меньших 5…

  1. 1
    При вводе числа 507 программа последовательно рассматривает цифры 7, 0 и 5. Цифра 7 не подходит, цифра 0 подходит, но не превосходит начальное значение maxDigit = 0, а цифра 5 не подходит.$$maxDigit = 0$$
  2. 2
    После завершения цикла проверяется условие maxDigit > 0. Оно ложно, поэтому программа выводит строку NO.$$507 \rightarrow \text{NO}$$

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

Решение полностьюОтветРешать самому6 шагов в разборе
117ФИПИ 2B38DC№ 24Высокая

Исправление программы обработки цифр

На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран количество цифр этого числа, делящихся на 3. Если в числе нет цифр, делящихся на…

  1. 1
    При вводе числа 145 программа последовательно рассматривает цифры 5, 4 и 1. Ни одна из них не делится на 3.
  2. 2
    Переменная count изначально равна 1 и не изменяется. Поэтому условие count == 0 ложно, и программа выводит число 1.

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

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

Исправление программы подсчёта цифр

Требовалось написать программу, которая получает на вход натуральное число $N$, не превосходящее $10^9$, и выводит число, равное количеству цифр 2 в десятичной записи числа $N$. Программист написал…

  1. 1
    При вводе 324 цикл последовательно выделяет цифры справа налево: сначала 4, затем 2, затем 3. После обработки цифры 3 число N становится равным 0, и цикл завершается.$$d: 4 \to 2 \to 3$$
  2. 2
    В исходной программе переменная R увеличивается для цифр, не равных 2. Для числа 324 она станет равна 2, поскольку цифры 4 и 3 не равны 2. Однако программа выводит не R, а последнее значение d, то есть 3.$$R = 2,\quad d = 3$$

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

Решение полностьюОтветРешать самому5 шагов в разборе
119ФИПИ 378D57№ 24Высокая

Исправление программы обработки цифр

На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит сумму цифр числа, не кратных 3. Если в числе нет цифр, не кратных 3, требуется вывести…

  1. 1
    При вводе числа 645 цифры извлекаются справа налево: сначала 5, затем 4, затем 6.
  2. 2
    Сначала выполняется `sum = N % 10`, поэтому sum получает значение 5. Цифра 5 не кратна 3, и затем sum снова получает значение 5.

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

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

Исправление программы поиска цифры

На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется…

  1. 1
    При вводе 231 сначала выполняется присваивание minDigit = 231 % 10, поэтому minDigit получает значение 1.$$231 \bmod 10 = 1$$
  2. 2
    Затем программа рассматривает цифры 1, 3 и 2. Цифра 2 чётная, но условие 2 < 1 ложно, поэтому значение minDigit не изменяется. В конце проверка minDigit == 0 также ложна, и программа выводит 1.

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

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