Проверяемые элементы содержания по спецификации (2021): Вычисление рекуррентных выражений.
Кодификатор 1.5.3/1.1.3. Уровень сложности П, 1 балл (был Б).
Время выполнения — 9 мин. (было 5).
Рекурсивный алгоритм по мнению разработчиков ЕГЭ это:
Математическая функция, что наглядно проиллюстрировано заданиями без программирования.
Программистская утопия, точнее говоря, крайне мало востребованная версия использования функций, скорее классическая основа для «подвешивания» компьютера в неявном бесконечном цикле.
При этом алгоритм подобного типа в значительной степени востребован в области обработки символов и шифровании.
Однако задание проверяет способность на определенный уровень абстрагирования.
Если вы категорически не можете стабильно его выполнить, то стать программистом вам вряд ли суждено.
Решение может быть осуществлено как в уме, так и составлением таблиц состояния переменных.
Истина, как всегда лежит посередине.
То есть, в условиях экзамена, обходиться без записей — крайняя глупость.
Но заполнение таблицы для 10–20 значений нужно крайне редко.
Скорее речь идет о нахождении закономерности и расчете нескольких промежуточных значений.
На это требуется 2–3 минуты, не более.
Задания
Демо 2021 ().
Демо 2020 (11). Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F(n)
PRINT n
IF n >= 3 THEN
F(n \ 2)
F(n - 1)
END IF
END SUB
def F(n):
print(n, end='')
if n >= 3:
F(n // 2)
F(n - 1)
Алгоритмический язык
Паскаль
алг
F(цел n)
нач
вывод n
если n >= 3 то
F(div(n, 2))
F(n - 1) все
кон
procedure F(n: integer);
begin
write(n);
if n >= 3 then
begin
F(n div 2);
F(n - 1)
end
end;
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Демо 2019 (11). Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F(n)
IF n > 0 THEN
F(n - 1)
PRINT n
F(n - 2)
END IF
END SUB
def F(n):
if n > 0:
F(n - 1)
print(n)
F(n - 2)
Алгоритмический язык
Паскаль
алг F(цел n)
нач
если n > 0 то
F(n - 1)
вывод n
F(n - 2)
все
кон
procedure F(n: integer);
begin
if n > 0 then
begin
F(n - 1);
write(n);
F(n - 2)
end
end;
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Демо 2018 (11). Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F(n)
IF n > 0 THEN
PRINT n
F(n - 3)
F(n \ 3)
END IF
END SUB
def F(n):
if n > 0:
print(n)
F(n - 3)
F(n // 3)
Алгоритмический язык
Паскаль
алг F(цел n)
нач
если n > 0 то
вывод n
F(n - 3)
F(div(n, 3))
все
кон
procedure F(n: integer);
begin
if n > 0 then
begin
write(n);
F(n - 3);
F(n div 3)
end
end;
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(9). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
D2018 (11). Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F(n)
IF n > 0 THEN
F(n - 1)
PRINT n
F(n \ 4)
END IF
END SUB
def F(n):
if n > 0:
F(n - 1)
print(n)
F(n // 4)
Алгоритмический язык
Паскаль
алг F(цел n)
нач
если n > 0 то
F(n - 1)
вывод n
F(div(n, 4))
все
кон
procedure F(n: integer);
begin
if n > 0 then
begin
F(n - 1);
write(n);
F(n div 4)
end
end;
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
R2018 (11). Ниже на четырех языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F (n)
IF n > 0 THEN
F(n \ 4)
PRINT n
F(n - 1)
END IF
END SUB
Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?
Демо 2014. Задание не вводилось, был просто вызов функции (B14): см. вопрос 21.
Демо 2013. Задание не вводилось, был просто вызов функции (B14): см. вопрос 21.
Демо 2012. Задание не вводилось, был просто вызов функции (B14): см. вопрос 21.
Демо 2011. Задание не вводилось.
Демо 2010. Задание не вводилось.
Демо 2009. Задание не вводилось.
Демо 2008. Задание не вводилось.
(т2-2015/1)
(т2-2015/2)
с114 (11). Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n - 1) + G(n - 2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n - 1) + F(n - 2)
ELSE
G = n+1
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n - 1) + G(n - 2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n - 1) + F(n - 2)
else
G := n+1;
end;
Си
Алгоритмический язык
int F(int n)
{
if (n > 2)
return F(n - 1) + G(n-2);
else return n;
}
int G(int n)
{
if (n > 2)
return G(n - 1) + F(n -2);
else return n+1;
}
нач
если n > 2
то
знач := F(n - 1)+G(n - 2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n - 1)+F(n - 2)
иначе
знач := n+1
все
кон
Python
def F(n):
if n > 2:
return F(n - 1)+ G(n - 2)
else: return n
def G(n):
if n > 2:
return G(n - 1)+ F(n - 2)
else: return n+1
Чему будет равно значение, вычисленное при выполнении вызова F(6)?
с124 (11). Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n - 1) + G(n - 2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n - 1) + F(n - 2)
ELSE
G = n+1
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n - 1) + G(n - 2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n - 1) + F(n - 2)
else
G := n+1;
end;
Си
Алгоритмический язык
int F(int n)
{
if (n > 2)
return F(n - 1) + G(n-2);
else return n;
}
int G(int n)
{
if (n > 2)
return G(n - 1) + F(n -2);
else return n+1;
}
нач
если n > 2
то
знач := F(n - 1)+G(n - 2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n - 1)+F(n - 2)
иначе
знач := n+1
все
кон
Python
def F(n):
if n > 2:
return F(n - 1)+ G(n - 2)
else: return n
def G(n):
if n > 2:
return G(n - 1)+ F(n - 2)
else: return n+1
Чему будет равно значение, вычисленное при выполнении вызова G(6)?
с113 (11). Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1; F(2) = 2; F(3) = 3;
F(n) = F(n — 3) * n, при n > 3
Чему равно значение функции F(10)?
с123 (11). Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1; F(2) = 2; F(3) = 3;
F(n) = F(n — 3) * n, при n > 3
Чему равно значение функции F(11)?
с112 (11). Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n - 1) + G(n - 2)
ELSE
F = 2
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n - 1) + F(n - 2)
ELSE
G = 2
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n - 1) + G(n - 2)
else
F := 2;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n - 1) + F(n - 2)
else
G := 2;
end;
Си
Алгоритмический язык
int F(int n)
{
if (n > 2)
return F(n-1) + G(n-2);
else return 2;
}
int G(int n)
{
if (n > 2)
return G(n-1) + F(n-2);
else return 2;
}
алг цел 1F(цел n)
нач
если n > 2
то
знач := F(n - 1)+G(n - 2)
иначе
знач := 2
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n - 1)+F(n - 2)
иначе
знач := 2
все
кон
Python
def F(n):
if n > 2:
return F(n-1)+ G(n-2)
else: return 2
def G(n):
if n > 2:
return G(n-1)
ш115 (11). Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 1 THEN
F = F(n - 1) + G(n - 1)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 1 THEN
G = G(n - 1) + F(n)
ELSE
G = n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 1 then
F := F(n - 1) + G(n - 1)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 1 then
G := G(n - 1) + F(n)
else
G := n;
end;
Си
Алгоритмический язык
int F(int n)
{
if (n > 1)
return F(n-1) + G(n-1);
else return n;
}
int G(int n)
{
if (n > 1)
return G(n-1) + F(n);
else return n;
}
алг цел F(цел n)
нач
если n > 1
то
знач := F(n - 1)+G(n - 1)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 1
то
знач := G(n - 1)+F(n)
иначе
знач := n
все
кон
Python
def F(n):
if n > 1:
return F(n-1)+ G(n-1)
else: return n
def G(n):
if n > 1:
return G(n-1)+ F(n)
else: return n
Чему будет равно значение, вычисленное при выполнении вызова F(5)?
ш125 (11). Ниже на пяти языках программирования записаны две рекурсивные функции: F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 1 THEN
F = F(n - 1) + G(n - 1)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 1 THEN
G = G(n - 1) + F(n)
ELSE
G = n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 1 then
F := F(n - 1) + G(n - 1)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 1 then
G := G(n - 1) + F(n)
else
G := n;
end;
Си
Алгоритмический язык
int F(int n)
{
if (n > 1)
return F(n-1) + G(n-1);
else return n;
}
int G(int n)
{
if (n > 1)
return G(n-1) + F(n);
else return n;
}
алг цел F(цел n)
нач
если n > 1
то
знач := F(n - 1)+G(n - 1)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 1
то
знач := G(n - 1)+F(n)
иначе
знач := n
все
кон
Python
def F(n):
if n > 1:
return F(n-1)+ G(n-1)
else: return n
def G(n):
if n > 1:
return G(n-1)+ F(n)
else: return n
Чему будет равно значение, вычисленное при выполнении вызова G(5)?
ш114 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1) + G(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1) + F(n-2)
else
G := 3-n;
end;
Си
Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1) + G(n-2);
else return n;
}
int G(int n) {
if (n > 2)
return G(n-1) + F(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1) + G(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1) + F(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1) + G(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1) + F(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова G(6)?
ш124 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1) + G(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1) + F(n-2)
else
G := 3-n;
end;
Си
Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1) + G(n-2);
else return n;
}
int G(int n) {
if (n > 2)
return G(n-1) + F(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1) + G(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1) + F(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1) + G(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1) + F(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова F(6)?
ш113 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-1) + F(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1)+F(n-1)+G(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1)+G(n-1)+F(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1)+F(n-1)+G(n-2)
else
G := 3-n;
end;
Си
Алгоритмический язык
int F(int n){
if (n > 2)
return F(n-1)+G(n-1)+F(n-2);
else return n;
}
int G(int n){
if (n > 2)
return G(n-1)+F(n-1)+G(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1)+G(n-1)+F(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1)+F(n-1)+G(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1)+G(n-1)+F(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1)+F(n-1)+G(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова G(5)?
ш123 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-1) + F(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1)+F(n-1)+G(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1)+G(n-1)+F(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1)+F(n-1)+G(n-2)
else
G := 3-n;
end;
Си
Алгоритмический язык
int F(int n){
if (n > 2)
return F(n-1)+G(n-1)+F(n-2);
else return n;
}
int G(int n){
if (n > 2)
return G(n-1)+F(n-1)+G(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1)+G(n-1)+F(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1)+F(n-1)+G(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1)+G(n-1)+F(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1)+F(n-1)+G(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова F(5)?
ш112 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-1) + F(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-1) + G(n-2)
ELSE
G = n+1
END IF
END FUNCTION
function F(n: integer):
integer;
begin
if n > 2 then
F := F(n-1)+G(n-1)+F(n-2)
else
F := n;
end;
function G(n: integer):
integer;
begin
if n > 2 then
G := G(n-1)+F(n-1)+G(n-2)
else
G := n+1;
end;
Си
Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1)+G(n-1)+F(n-2);
else return n;
}
int G(int n){
if (n > 2)
return G(n-1)+F(n-1)+G(n-2);
else return n+1;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1)+G(n-1)+F(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1)+F(n-1)+G(n-2)
иначе
знач := n+1
все
кон
Python
def F(n):
if n > 2:
return F(n-1)+G(n-1)+F(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1)+F(n-1)+G(n-2)
else: return n+1
Чему будет равно значение, вычисленное при выполнении вызова G(5)?
ш122 (11). Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик
Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-1) + F(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-1) + G(n-2)
ELSE
G = n+1
END IF
END FUNCTION
function F(n: integer):
integer;
begin
if n > 2 then
F := F(n-1)+G(n-1)+F(n-2)
else
F := n;
end;
function G(n: integer):
integer;
begin
if n > 2 then
G := G(n-1)+F(n-1)+G(n-2)
else
G := n+1;
end;
Си
Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1)+G(n-1)+F(n-2);
else return n;
}
int G(int n){
if (n > 2)
return G(n-1)+F(n-1)+G(n-2);
else return n+1;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1)+G(n-1)+F(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1)+F(n-1)+G(n-2)
иначе
знач := n+1
все
кон
Python
def F(n):
if n > 2:
return F(n-1)+G(n-1)+F(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1)+F(n-1)+G(n-2)
else: return n+1
Чему будет равно значение, вычисленное при выполнении вызова F(5)?