Задание 16 ЕГЭ
«Рекурсивные процедуры и функции»
Уровень сложности — базовый,
Максимальный балл — 1,
Примерное время выполнения — 5 минут.
Рекурсивные функции с возвращаемыми значениями
Алгоритм вычисления значения функции F(n), где n — целое неотрицательное число, задан следующими соотношениями:
F(n) = F(n / 2), если n > 0 и при этом чётно;
F(n) = 1 + F(n − 1), если n нечётно.
Сколько существует таких чисел n, что 1 ≤ n ≤ 1000 и F(n) = 3?
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n · F(n − 1), если n > 1.
Чему равно значение выражения F(2023) / F(2020)?
Заметим, что данная рекурсивная функция фактически подсчитывает факториал числа:
Демо 2021
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n + F(n − 1), если n – чётно,
F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно. Чему равно значение функции F(26)?
Решение
Можно выполнить программированием. Описать соответствующую функцию.
function f(n:integer):integer;
begin
if n=1 then f:=1
else if n mod 2=0 then f:=n+f(n-1)
else f:=2*f(n-2);
end;
begin
writeln(f(26));
Демо 2019
Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Запишите подряд без пробелов и разделителей все числа, которые будут
напечатаны на экране при выполнении вызова F(4). Числа должны быть
записаны в том же порядке, в котором они выводятся на экран.

Решение
В данном фрагменте программы рекурсивная процедура вызывает саму себя дважды.
Благодаря условию, находящемуся в процедуре (if n > 0 — условие остановки рекурсии), обеспечивается выход из рекурсии и не происходит «зацикливания».
Выполнение процедур закончится, когда в каждой из вызванных процедур выполнятся по две внутренние процедуры, и условие if n > 0 перестанет работать (т.е. когда параметр процедуры n станет <= 0).
Отобразим пошагово выполнение каждой процедуры, двигаясь сверху вниз и оставляя отступы слева с каждым новым шагом. В каждой строке будем отображать порядковый номер шага. Под вызовом каждой процедуры разместим именно те действия, которые происходят в данной процедуре:

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

Решение
В данном фрагменте программы рекурсивная процедура вызывает саму себя дважды.
Благодаря условию, находящемуся в процедуре (if n > 0 — условие остановки рекурсии), обеспечивается выход из рекурсии и не происходит «зацикливания».
Выполнение процедур закончится, когда в каждой из вызванных процедур выполнятся по две внутренние процедуры, и условие if n > 0 перестанет работать (т.е. когда параметр процедуры n станет <= 0).
Отобразим пошагово выполнение каждой процедуры, двигаясь сверху вниз и оставляя отступы слева с каждым новым шагом. В каждой строке будем отображать порядковый номер шага. Под вызовом каждой процедуры разместим именно те действия, которые происходят в данной процедуре:
Рекурсия. Сколько существует таких чисел и, что 1 < и < 500 и А(и) = 8?

никогда не закончится. Вернее, закончится ошибкой превышения глубины рекурсии, потому что все время будет вызываться F(0). Замените return F(0) на return 0 .
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.9.4.43608
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
ЕГЭ по информатике в кроссвордах
Учеников необходимо разделить на команды (равное количество). Раздаются задания каждому ученику в команде. Между собой распределяют задания, выполняют, заполняют кроссворд.
Просмотр содержимого документа
«ЕГЭ по информатике в кроссвордах»

Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2, третья — умножает на 2.
Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 1 в число 9 и при этом не содержат двух команд умножения подряд?
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень или
добавить в кучу два камня или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 12 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 37. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 38 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 37.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень или
добавить в кучу два камня или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 12 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 37. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 38 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 37.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.
Найдите три таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень или
добавить в кучу два камня или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 12 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 37. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 38 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 37.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.
Найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Последовательность чисел Падована задается рекуррентным соотношением:
F(n) = F(n–3) + F(n–2), при n 3, где n – натуральное число.
Чему равно двенадцатое число в последовательности Падована?
В ответе запишите только натуральное число.

Система мониторинга формирует и отправляет специальные сообщения, в которые могут входить только следующие символы: латинские буквы (26 заглавных и 26 строчных), цифры от 0 до 9, пробел. Количество символов в сообщении может быть любым.
При передаче сообщения используется равномерное посимвольное кодирование: каждый символ кодируется одинаковым минимально возможным числом битов. Сообщение в целом кодируется минимально возможным целым числом байтов. Кроме того, к каждому сообщению добавляется заголовок, содержащий целое число байтов, одинаковое для всех сообщений.
Система отправила три сообщения по 33 символа каждое и шесть сообщений по 29 символов. При этом всего было передано более 330 байт.
Какое наименьшее число байтов может содержать заголовок сообщения? В ответе запишите только целое число – количество байтов.
Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка:
Запишите слово, которое стоит на 125-м месте от начала списка.
Для хранения в информационной системе документы сканируются с разрешением 300 dpi и цветовой системой, содержащей 2 16 = 65 536 цветов. Методы сжатия изображений не используются. Средний размер отсканированного документа составляет 9 Мбайт. В целях экономии было решено перейти на разрешение 200 dpi и цветовую систему, содержащую 256 цветов. Сколько Мбайт будет составлять средний размер документа, отсканированного с изменёнными параметрами?
Для кодирования некоторой последовательности, состоящей только из букв А, Б, В, Г, Д, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В использовали соответственно кодовые слова 1, 00, 0100. Укажите минимальную возможную суммарную длину для букв Г и Д, если известно, что код должен допускать однозначное декодирование.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число 1, то программа 212 последовательно преобразует его в 2, 3, 6.
Сколько существует программ, которые преобразуют исходное число 1 в число 40 так, что в процессе выполнения на экране ни разу не появляется цифра 3?
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень, или
добавить в кучу три камня, или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 13 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 49. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 50 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 49.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень, или
добавить в кучу три камня, или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 13 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 49. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 50 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 49.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите три таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу один камень, или
добавить в кучу три камня, или
увеличить количество камней в куче в два раза.
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 13 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 49. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 50 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 49.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Алгоритм вычисления значения функции F(n), где n — целое неотрицательное число, задан следующими соотношениями:
F(n) = F(n / 2), если n 0 и при этом чётно;
F(n) = 1 + F(n − 1), если n нечётно.
Сколько существует таких чисел n, что 1 ≤ n ≤ 1000 и F(n) = 3?

Каждый объект, зарегистрированный в информационной системе, получает уникальный код из трёх частей. Первая часть кода определяет категорию объекта. Всего выделяется 7 категорий, которые обозначаются латинскими буквами A, B, C, D, E, F, G. Вторая часть кода описывает группу, к которой принадлежит объект. Эта часть состоит из 10 символов, каждый из которых может быть любой из 19 заглавных латинских букв (буквы, задающие категории, не используются). Третья часть кода задаёт порядковый номер объекта внутри категории и может быть целым числом от 1 до 2999. Каждая из трёх частей кодируется независимо. Для представления категории и группы используют посимвольное кодирование, все символы в пределах каждой части кода кодируют одинаковым минимально возможным количеством битов. Порядковый номер кодируется как двоичное целое число с использованием минимально возможного количества битов. Для кода в целом выделяется минимально возможное целое количество байтов. Кроме того, для каждого объекта выделен одинаковый объём памяти для хранения дополнительных регистрационных данных.
Для хранения кода и дополнительных регистрационных данных 34 объектов потребовалось 918 байт. Сколько байтов выделено для хранения дополнительных регистрационных данных одного объекта? В ответе запишите только целое число — количество байтов.
Светлана составляет коды из букв слова ПАРАБОЛА. Код должен состоять из 8 букв, и каждая буква в нём должна встречаться столько же раз, сколько в заданном слове. Кроме того, в коде не должны стоять рядом две гласные и две согласные буквы. Сколько кодов может составить Светлана?
Музыкальный фрагмент был записан в формате квадро (четырёхканальная запись), оцифрован с частотой дискретизации 44 кГц и разрешением 16 бит и сохранён без использования сжатия данных. Получился файл размером 160 Мбайт. Затем тот же фрагмент был записан в формате моно с разрешением 8 бит и тоже сохранён без сжатия, при этом получился файл размером 10 Мбайт. С какой частотой дискретизации проводилась вторая запись? В ответе укажите целое число — частоту в кГц, единицу измерения писать не нужно.
По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 101, В — 1001, Г — 111, Д — 0110, Е — 110. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ЛИЛИЯ?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Сколько существует таких чисел n что 1 n 1000 и f n 3
создана: 14.02.2023 в 10:49
.
Вар. 1. Алгоритм вычисления значения функции F(n),
где n – целое неотрицательное число, задан следующими соотношениями:
F(n) = F(n–1) – F(n–2) + 3n, при чётном n > 1
F(n) = F(n–2) – F(n–3) + 2n, при нечётном n > 1
Чему равно значение функции F(40)?
В ответе запишите только целое число.
var f: array [0..40] of integer;
begin
f[0] := 1; f[1] := 3;
for var i:=2 to 40 do
if (i mod 2=0) then f[i] := f[i-1] — f[i-2] + 3*i
else f[i] := f[i-2] — f[i-3] + 2*i;
writeln (f[40]);
end.
F(0) = 1, F(1) = 3
F(n) = F(n–1) — F(n-2) + 3n, при n > 1.
Чему равно значение функции F(40)? В ответе запишите только целое число.
F(n) = n + 3, при n ≤ 3
F(n) = F(n – 2) + n, при n > 3 и четном значении F(n-1),
F(n) = F(n – 2) + 2•n, при n > 3 и нечетном значении F(n-1).
Определите сумму значений, являющихся результатом вызова функции для значений n
в диапазоне [40; 50].
F(0) = 0
F(n) = 1, когда 1 ≤ n < 3,
F(n) = F(n — 1) + F(n — 2), когда n ≥ 3.
Определите четыре последние цифры числа F(47).
F(0) = 0
F(n) = F(n/2) + 3, при чётном n > 0
F(n) = 2·F(n — 1) + 1, при нечётном n > 0
Сколько различных значений может принимать функция F(n) при n,
принадлежащих отрезку [1; 1000]?
F(0) = 0
F(n) = F(n/2), при чётном n > 0
F(n) = F(n — 1) + 3, при нечётном n > 0
Сколько существует значений n, принадлежащих отрезку [1; 1000], для которых F(n) равно 18?
var f: array[0..1000] of integer;
var i,kol : integer;
begin
f[0]:=0; kol:=0;
for i:=1 to 1000 do
begin
if (i mod 2 <>0) then f[i]:=f[i-1]+3
else f[i]:=f[i div 2];
if f[i]=18 then kol:=kol+1;
end;
writeln (kol);
end.
// С помощью функции
var n, k,s : integer;
function F(n :integer): integer;
begin
if (n=0) then Result := 0;
if (n mod 2 = 0) and (n >0) then Result := F(n div 2);
if (n mod 2 <> 0) and (n >0) then Result := F(n -1) + 3;
end;
begin
k:=0;
for n := 1 to 1000 do begin
if F(n)=18 then
k:=k+1;
end;
writeln(k);
end.
Ответы: