КЭС: 3.7 Рекурсия. Рекурсивные процедуры и функции. Использование стека для организации рекурсивных вызовов

Рекурсивные функции с возвращаемыми значениями

Алгоритм вычисления значения функции F(n), где n  — целое неотрицательное число, задан следующими соотношениями:

F(n) = 0, при n ≤ 1;

F(n) = F(n − 1) + 3n2, если n > 1 и при этом нечётно;

F(n) = n / 2 + F(n − 1) + 2, если n > 1 и при этом чётно.

Чему равно значение функции F(49)? В ответе запишите только целое число.

def F(n):
    if n <= 1:
        return 0
    if n % 2 == 1:
        return F(n-1) + 3*n*n
    return n // 2 + F(n-1) + 2
print(F(49))

Алгоритмы, опирающиеся на несколько предыдущих значений

Последовательность чисел трибоначчи задается рекуррентным соотношением:

F(1) = 0
F(2) = 1
F(3) = 1
F(n) = F(n–3) + F(n–2) + F(n–1), при n >3, где n – натуральное число.

Чему равно девятое число в последовательности трибоначчи?

def F(n):
    if n == 1:
        return 1
    if n == 2:
        return 1
    if n > 2:
        return F(n-2) + F(n-1)
print(F(9))

Алгоритм вычисления значения функции F(n), где n  — целое неотрицательное число, задан следующими соотношениями: F(0) = 0;

   F(n) = F(n − 1) + 1, если n нечётно;

              F(n) = F(n / 2), если n > 0 и при этом n чётно.

 Укажите количество таких значений n < 1 000 000 000, для которых F(n)  =  3.

    3 =   30!   = 4060
С 30   3!*27!

3.      Алгоритмы, опирающиеся на одно предыдущее значение

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(1) = 1

F(n) = F(n–1) * n, при n >1

Чему равно значение функции F(5)? В ответе запишите только натуральное число.

def F(n):
    if n == 1:
       return 1
    if n > 1:
       return F(n-1) * n
print(F(5))

Задание 16 ЕГЭ по информатике, ФИПИ

Наиболее вероятный прототип.  20.10.2025
Алгоритм вычисления функции F(n), где n – целое число, задан следующими соотношениями:

F(n) = n, если n < 10;

F(n) = (n – 2) × F(n – 5), если n ≥ 10.

Чему равно значение выражения (F(3220) – 2 × F(3215)) / F(3210)?

В ответе запишите целую часть полученного числа.

Решение:

Итеративное заполнение массива:

n_max = 3220
f = [0] * (n_max + 1)
for n in range(0, 10):
    f[n] = n

for n in range(10, n_max + 1):
    f[n] = (n - 2) * f[n - 5]

print(int((f[3220] - 2 * f[3215]) / f[3210]))


Рекурсия с кэшированием:

from functools import *

@lru_cache(None)
def f(n):
    if n<10: return n
    return (n-2)*f(n-5)

for n in range(4000): f(n)

print((f(3220)-2*f(3215))/f(3210))

Если не может посчитать (ошибка слишком большой объем), замените деление / в последней строке на целочисленное - /

Ответ: 10333008

Номер: 5F1A93

20.10.2025
Алгоритм вычисления функций F(n) и G(n), где n – целое число, задан следующими соотношениями:

F(n) = 2 × (G(n – 3) + 8);

G(n) = 2 × n, если n < 10;

G(n) = G(n – 2) + 1, если n ≥ 10.

Чему равно значение выражения F(15548)?

Решение:
# Список для хранения значений G(n), индексы от 0 до 15551 (с запасом для G(n-3) при n=15548)
g = [0] * 15552

# Заполняем G(n) для n < 10: G(n) = 2 * n
for n in range(10):
    g[n] = 2 * n

# Заполняем G(n) для n ≥ 10: G(n) = G(n-2) + 1
for n in range(10, 15552):
    g[n] = g[n - 2] + 1

# F(15548) = 2 × (G(15548 - 3) + 8) = 2 × (G(15545) + 8)
print(2 * (g[15545] + 8))

ИЛИ

from functools import lru_cache

@lru_cache(None)
def g(n):
    if n < 10:
        return 2 * n
    return g(n - 2) + 1

@lru_cache(None)
def f(n):
    return 2 * (g(n - 3) + 8)

# Прогрев кэша
for n in range(16000):
    g(n)
    f(n)

print(f(15548))

Еще вариант:

def g(n):
    s = {}
    for i in range(n + 1):
        if i < 10:
            s[i] = 2 * i
        else:
            s[i] = s[i - 2] + 1
    return s[n]

def f(n):
    return 2 * (g(n - 3) + 8)

print(f(15548))

 


Ответ: 15588

Номер: FDDA65

20.10.2025
Алгоритм вычисления функции F(n), где n – целое число, задан следующими соотношениями:

F(n) = n, если n < 10;

F(n) = n – 1 + F(n – 1), если n ≥ 10.

Чему равно значение выражения F(8567) – F(8563)?

Решение:

f = [0] * 8568
for n in range(0,10):
    f[n] = n

for n in range(10, 8568):
    f[n] = n - 1 + f[n - 1]

print(f[8567] - f[8563])

С объяснениями:

# Создаем список f, содержащий 8568 элементов, каждый из которых равен 0
f = [0] * 8568

# Цикл для начальных значений n от 0 до 9 (всего 10 чисел)
for n in range(0, 10):
    # Присваиваем элементу с индексом n значение самого индекса n (f[0]=0, f[1]=1, ..., f[9]=9)
    f[n] = n

# Цикл для вычисления остальных элементов списка, начиная с индекса 10 и до 8567
for n in range(10, 8568):
    # Вычисляем f[n] по рекуррентной формуле: (n - 1) + значение предыдущего элемента f[n-1]
    f[n] = n - 1 + f[n - 1]

# Вычисляем и выводим разность между элементом с индексом 8567 и элементом с индексом 8563
print(f[8567] - f[8563])


Ответ: 34258

Номер: cD7BD4

20.10.2025
Алгоритм вычисления функции F(n), где n – целое число, задан следующими соотношениями:

F(n) = n, если n < 10;

F(n) = n2 + F(n – 9), если n ≥ 10.

Чему равно значение выражения F(5101) – F(5074)?

Решение:
n_max = 5101
f = [0] * (n_max + 1)
for n in range(0, 10):
f[n] = n

for n in range(10, n_max + 1):
f[n] = (n ** 2) + f[n - 9] #ПОМЕНЯЙ НА САЙТЕ!! ТУТ СТЕПЕНЬ N ВО 2-ОЙ А НЕ УМНОЖЕНИЕ

print(int((f[5101] - f[5074])))


Ответ: 77785554

Номер: F34029

20.10.2025
Алгоритм вычисления функций F(n) и G(n), где n – целое число, задан следующими соотношениями:

F(n) = 2 × G(n) + G(n – 1);

G(n) = n, если n ≤ 10;

G(n) = G(n – 2) + 1, если n > 10.

Чему равно значение выражения F(26728)?

Решение:
def g(n):
s = {}
for i in range(n + 1):
if i <= 10:
s[i] = i
else:
s[i] = s[i - 2] + 1
return s[n]

def f(n):
return 2 * g(n) + g(n-1)

print(f(26728))


Ответ: 40106

Номер: F97622

20.10.2025
Алгоритм вычисления функций F(n) и G(n), где n – целое число, задан следующими соотношениями:

F(n) = 3 × G(n – 3) + 7;

G(n) = n + 2, если n ≤ 20;

G(n) = G(n – 3) + 1, если n > 20.

Чему равно значение выражения F(37811)?

Решение:

...
Ответ:

Номер: 3eB0F2

20.05.2025
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n при n ≥ 2025;

F(n) = n × 2 + F(n + 2), если n < 2025.

Чему равно значение выражения F(82) – F(81)?

Решение:

...
Ответ: 1945

Номер: 1ADC01

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = (n – 1)× F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) − 3 × F(2023)) / F(2022)?

Решение:

...
Ответ: 4084440

Номер: A36CE9

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = (n – 1)× F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) + 2 × F(2023)) / F(2022)?

Решение:

...
Ответ: 4094550

Номер: 45985B

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = 2 n F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) + 2 F(2023)) / F(2022)?

Решение:

...
Ответ: 16386300

Номер: 3CB3DE

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = 2 n F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) − 3 F(2023)) / F(2022)?

Решение:

...
Ответ: 16366070

Номер: 1A2ED5

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n × F(n − 1), если n > 1.

Чему равно значение выражения (2 × F(2024) + F(2023)) / F(2022)?

Решение:

...
Ответ: 8191127

Номер: 97F321

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) − F(2023)) / F(2022)?

Решение:

...
Ответ: 4092529

Номер: D8CBBF

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) / 4 + F(2023)) / F(2022)?

Решение:

...
Ответ: 1025661

Номер: 0C9871

22.10.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = 2 n F(n − 1), если n > 1.

Чему равно значение выражения (F(2024) − F(2023)) / F(2022)?

Решение:

...
Ответ: 16374162

Номер: 39F802

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 3 при n = 1;

F(n) = n + 2 + F(n − 1), если n > 1.

Чему равно значение выражения F(2023) – F(2021)?

Решение:

...
Ответ: 4049

Номер: EFFD84

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n – 2 + F(n − 1), если n > 1.

Чему равно значение выражения F(2024) – F(2022)?

Решение:

...
Ответ: 4043

Номер: C0EC82

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n + F(n − 1), если n > 1.

Чему равно значение выражения F(2023) – F(2020)?

Решение:

...
Ответ: 6066

Номер: 7C657B

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 3 при n < 3;

F(n) = n + F(n − 2), если n ≥ 3.

Чему равно значение выражения F(2022) – F(2018)?

Решение:

...
Ответ: 4042

Номер: 0E2072

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 10 при n < 11;

F(n) = n + F(n − 1), если n ≥ 11.

Чему равно значение выражения F(2024) – F(2021)?

Решение:

...
Ответ: 6069

Номер: 5838F2

16.04.2024
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 6 при n < 7;

F(n) = n + F(n − 1), если n ≥ 7.

Чему равно значение выражения F(2023) – F(2021)?

Решение:

...
Ответ: 4045

Номер: DB8EF2

04.05.2023
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n при n >= 2025;

F(n) = n + 3 + F(n + 3), если n < 2025.

Чему равно значение выражения F(2018) – F(2022)?

Решение:

...
Ответ: 4049

Номер: 45D78C

04.05.2023
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n при n >= 2025;

F(n) = n + F(n + 2), если n < 2025.

Чему равно значение выражения F(2022) – F(2023)?

Решение:

...
Ответ: 2024

Номер: 2E8064

04.05.2023
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n при n >= 2025;

F(n) = n + 3 + F(n + 3), если n < 2025.

Чему равно значение выражения F(23) – F(21)?

Решение:

...
Ответ: 1338

Номер: 7C192E

28.03.2023
Алгоритм вычисления значения функции F(n), где n –

натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n + F(n − 1), если n чётно;

F(n) = 2 × F(n − 2), если n > 1 и при этом n нечётно.

Чему равно значение функции F(24)?

Решение:

...
Ответ: 2072

Номер: 4408DC

28.03.2023
Алгоритм вычисления значения функции F(n), где n –

натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;

F(n) = n + F(n − 1), если n чётно;

F(n) = 2 × F(n − 2), если n > 1 и при этом n нечётно.

Чему равно значение функции F(24)?

Решение:

...
Ответ: 2072

Номер: 789B96

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 1) + n − 1, если n > 2 и при этом n чётно;

F(n) = F(n − 2) + 2 × n − 2, если n > 2 и при этом n нечётно.

Чему равно значение функции F(33)?

Решение:

...
Ответ: 545

Номер: 5F7DD8

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно;

F(n) = 2 × F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно.

Чему равно значение функции F(18)?

Решение:

...
Ответ: 169

Номер: 1644D5

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 1) + n − 1, если n > 2 и при этом n чётно;

F(n) = F(n − 2) + 2 × n − 2, если n > 2 и при этом n нечётно.

Чему равно значение функции F(36)?

Решение:

...
Ответ: 648

Номер: D9A32B

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно;

F(n) = 2 × F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно.

Чему равно значение функции F(19)?

Решение:

...
Ответ: 577

Номер: 097227

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно;

F(n) = 2 × F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно.

Чему равно значение функции F(31)?

Решение:

...
Ответ: -

Номер: 4D7975

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n < 3;

F(n) = F(n − 2) − F(n − 1), если n > 2 и при этом n чётно;

F(n) = 2 × F(n − 1) − F(n − 2), если n > 2 и при этом n нечётно.

Чему равно значение функции F(15)?

Решение:

...
Ответ: 99

Номер: 859446

13.10.2022
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 2 при n < 3;

F(n) = F(n − 2) + F(n − 1) – n, если n > 2 и при этом n чётно;

F(n) = F(n − 1) − F(n − 2) + 2 × n, если n > 2 и при этом n нечётно.

Чему равно значение функции F(32)?

Решение:

...
Ответ: 3194

Номер: 3E7B68

06.03.2022
Алгоритм вычисления значения функции F(n), где n –– целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = (n + 1) / 2 + F(n − 1), если n > 1 и при этом n нечётно;

F(n) = 2 × F(n − 1) + 1, если n > 1 и при этом n чётно.

Чему равно значение функции F(33)?

Примечание. При вычислении значения F(n) используется операция целочисленного деления.

Решение:

...
Ответ: 262124

Номер: 7C0639

06.03.2022
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = 2 × F(n − 1) + 2, если n > 1 и при этом n нечётно;

F(n) = n / 2 + F(n − 1), если n > 1 и при этом n чётно.

Чему равно значение функции F(30)?

Примечание. При вычислении значения F(n) используется операция целочисленного деления.

Решение:

...
Ответ: 98285

Номер: 2C19E5

06.03.2022
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = 2 × F(n − 1) + 2, если n > 1 и при этом n нечётно;

F(n) = n / 2 + F(n − 1), если n > 1 и при этом n чётно.

Чему равно значение функции F(28)?

Примечание. При вычислении значения F(n) используется операция целочисленного деления.

Решение:

...
Ответ: 49134

Номер: 8C4B9D

06.03.2022
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = 2 × F(n − 1) + 2, если n > 1 и при этом n нечётно;

F(n) = n / 2 + F(n − 1), если n > 1 и при этом n чётно.

Чему равно значение функции F(26)?

Примечание. При вычислении значения F(n) используется операция целочисленного деления.

Решение:

...
Ответ: 24559

Номер: FE70A9

06.03.2022
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = 2 × n + F(n − 1), если n > 1 и при этом n нечётно;

F(n) = 2 × F(n − 1) , если n > 1 и при этом n чётно.

Чему равно значение функции F(22)?

Решение:

...
Ответ: 20380

Номер: FF255D

06.03.2022
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:

F(n) = 0 при n ≤ 1;

F(n) = 2 × n + F(n − 1), если n > 1 и при этом n нечётно;

F(n) = 2 × F(n − 1) , если n > 1 и при этом n чётно.

Чему равно значение функции F(24)?

Решение:

...
Ответ: 40852

Номер: 4254B4

08.08.2021
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n + 1 при n ≤ 2;

F(n) = F(n − 1) + 2 × F(n − 2) при n > 2.

Чему равно значение функции F(4)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 13

Номер: e1eF3A

08.08.2021
Алгоритм вычисления значения функции F(n), где n –

натуральное число, задан следующими соотношениями:

F(n) = n + 1 при n ≤ 2;

F(n) = F(n − 1) + 3 × F(n − 2) при n > 2.

Чему равно значение функции F(4)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 38

Номер: 50144e

08.08.2021
Алгоритм вычисления значения функции F(n), где n –

натуральное число, задан следующими соотношениями:

F(n) = 2 при n ≤ 2;

F(n) = F(n − 1) + 3 × F(n − 2) при n > 2.

Чему равно значение функции F(5)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 32

Номер: 2B8159

08.08.2021
Алгоритм вычисления значения функции F(n), где n –

натуральное число, задан следующими соотношениями:

F(n) = n при n ≤ 2;

F(n) = F(n − 1) + 2 × F(n − 2) при n > 2.

Чему равно значение функции F(6)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 59

Номер: 26e492

08.08.2021
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = n при n ≤ 2;

F(n) = F(n − 1) + 3 × F(n − 2) при n > 2.

Чему равно значение функции F(6)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 43

Номер: 3DD732

08.08.2021
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n ≤ 2;

F(n) = F(n − 1) + 2 × F(n − 2) при n > 2.

Чему равно значение функции F(7)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 43

Номер: 584D84

08.08.2021
Алгоритм вычисления значения функции F(n), где n –– натуральное число, задан следующими соотношениями:

F(n) = 1 при n ≤ 2;

F(n) = F(n − 1) + 3 × F(n − 2) при n > 2.

Чему равно значение функции F(7)?

В ответе запишите только натуральное число.

Решение:

...
Ответ: 97

Номер: 0ce722