Тема 16. Рекурсивные алгоритмы
16.01 Одна функция
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела рекурсивные алгоритмы
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#49380

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

F (0) = 0;

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

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

Назовите минимальное значение n  , для которого F (n) = 12  .

Показать ответ и решение
def F(n):
    if n == 0:
        return 0
    if n % 2 == 0 and n>0:
        return F(n/2)
    if n % 2 != 0:
        return 1+F(n-1)
i = 0
while F(i) != 12:
    i += 1
print(i)

Ответ: 4095

Ошибка.
Попробуйте повторить позже

Задача 2#88109

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

F (n) = n  , при n > 4000

F (n) = F(n +2) ⋅3+ 5⋅n  , при n ≤ 4000

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

В ответе укажите только целую часть числа.

Показать ответ и решение
def f(n):
    if n > 4000:
        return n
    return f(n + 2) * 3 + 5 * n
print(f(3988)/f(3998))

Ответ: 263

Ошибка.
Попробуйте повторить позже

Задача 3#88106

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

F (n) = 1  , если n > 39  ;

F (n) = F(n ∗2)+ n +5  , если n <= 39  и при этом n  кратно 3;

F (n) = 1+ F (n + 4)+ 2∗ F(n+ 1)  , если n  не кратно 3 и n <= 39  .

Назовите максимальное значение n  , для которого значение F (n)  будет кратно 3.

Показать ответ и решение
def F(n):
    if n > 39:
        return 1
    if n % 3 == 0 and n <= 39:
        return F(n * 2) + n + 5
    if n % 3 != 0 and n <= 39:
        return 1 + F(n + 4) + 2*F(n + 1)
for i in range(1000, 1, -1):
    t = F(i)
    if t % 3 == 0:
        print(i)
        break

Ответ: 39

Ошибка.
Попробуйте повторить позже

Задача 4#72484

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

F (0) = 0;

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

F (n) = 3+ F (n − 1)  , если n  нечётно и n > 0  .

Назовите минимальное значение n  , для которого F (n) = 21  .

Показать ответ и решение
def F(n):
    if n == 0:
        return 0
    if n % 2 == 0 and n > 0:
        return F(n / 2) + 2
    if n % 2 != 0 and n > 0:
        return 3 + F(n - 1)
i = 0
while F(i) != 21:
    i += 1
print(i)

Ответ: 67

Ошибка.
Попробуйте повторить позже

Задача 5#72475

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

F(n) = n, если n ≤ 1,

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

Определите значение выражения: F (10)− F(5)  .

Показать ответ и решение
 def F(n):
     if n <= 1:
         return n
     else:
         return F(n-1)+F(n-2)*n
 print(F(10)-F(5))
 

Ответ: 12100

Ошибка.
Попробуйте повторить позже

Задача 6#72470

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

F (n) = n+ 3  , при n ≤ 1

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

Найдите сумму положительных целых значений n  при которых F (n) < 666  .

Показать ответ и решение
 def F(n):
     if n <= 1:
         return n+3
     else:
         return F(n-3)+n+2
 sum = 0
 for n in range(1,1000):
     if F(n)<666:
         sum+=n
 print(sum)
 

Ответ: 1770

Ошибка.
Попробуйте повторить позже

Задача 7#72465

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

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

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

Найдите количество положительных целых значений n  при котором F (n) < 565  .

Показать ответ и решение
 def F(n):
     if n <= 1:
         return n+2
     else:
         return F(n-2)+n+3
 count = 0
 for n in range(1,1000):
     if F(n)<565:
         count+=1
 print(count)
 

Ответ: 43

Ошибка.
Попробуйте повторить позже

Задача 8#72418

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

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

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

F (n) = 3∗ F(n− 2)  , если n  нечётно.

Чему равно значение функции F(30)  ? Для выполнения задания можно также написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
 def F(n):
     if n == 1:
         return 1
     if n%2==0:
         return n + F(n-1)
     if n%2!=0:
         return 3*F(n-2)

 print(F(30))
 

Ответ: 4782999

Ошибка.
Попробуйте повторить позже

Задача 9#64023

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

F(0) = 0;

F(n) = F(n - 1) + 3, если n > 0 и при этом n mod 3 = 2;

F(n) = F((n - n mod 3) / 3), если n > 0 и при этом n mod 3 < 2.

Укажите наименьшее возможное n, для которого F(n) = 6. Если таких значений нет, в ответе укажите -1.

Показать ответ и решение
def f(n):
# По условию n - натуральное
    if n == 0:
        return 99999999
    elif n > 0 and n % 3 == 2:
        return f(n - 1) + 3
    elif n > 0 and n % 3 < 2:
        return f((n - n % 3) / 3)

for i in range(1000):
    if f(i) == 6:
        print(i)

Ответ: -1

Ошибка.
Попробуйте повторить позже

Задача 10#63343

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

F (n) = 5+ n + F(n+ 2)  , если n < 100

F (n) = n+ 2  , если n ≥ 100

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

Показать ответ и решение
def F(n):
    if n>=100: return n+2
    if n<100: return 5+n+F(n+2)
print(F(90)-F(101))

Ответ: 494

Ошибка.
Попробуйте повторить позже

Задача 11#63341

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

F (n) = n  , если n ≤ 15

F (n) = F(n − 15) +n ∕∕3  , если 15 < n ≤ 25

F (n) = F(n − 6)  , если n > 25

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

Примечание. Запись // означает деление нацело.

Показать ответ и решение
def F(n):
    if n<=15: return n
    if 15<n<=25: return F(n-15)+n//3
    if n>25: return F(n-6)
print(F(20))

Ответ: 11

Ошибка.
Попробуйте повторить позже

Задача 12#63337

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

F (n) = n  , если n > 1000

F (n) = 7⋅n2 +3 + F(n+ 1)  , если n ≤ 1000

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

Показать ответ и решение
def F(n):
    if n>1000: return n
    if n<=1000: return 7*n**2+3+F(n+1)
print(F(6)-F(12))

Ответ: 3175

Ошибка.
Попробуйте повторить позже

Задача 13#63037

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

F (1) = 3;F (2) = 6;F(3) = 9

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

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

Показать ответ и решение
def f(n):
    if n == 1:
        return 3
    elif n == 2:
        return 6
    elif n == 3:
        return 9
    else:
        return f(n - 3)*n + 2
print(f(12))

Ответ: 6074

Ошибка.
Попробуйте повторить позже

Задача 14#63035

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

F (0) = 1,F (1) = 2

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

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

Показать ответ и решение
def f(n):
    if n == 0:
        return 1
    elif n == 1:
        return 2
    else:
        return 6*f(n - 1) - f(n - 2)*n
print(f(4))

Ответ: 284

Ошибка.
Попробуйте повторить позже

Задача 15#60481

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

F (n) = 10  при n ≤ 3

F (n) = 5∗ F(n− 1)− 4 ∗F(n − 2)+ 3∗F (n− 3)  при n > 3  .

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

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

Показать ответ и решение
def f(n):
    if n <= 3:
        return 10
    if n > 3:
        return 5*f(n-1)-4*f(n-2)+3*f(n-3)
print(f(13))

Ответ: 19539400

Ошибка.
Попробуйте повторить позже

Задача 16#60480

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

F (n) = n  при n ≤ 5

F (n) = (F(n− 1)− F (n − 4))∗n − 10  , при n > 5

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

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

Показать ответ и решение
def f(n):
    if n <= 5:
        return n
    if n > 5:
        return (f(n-1)-f(n-4))*n-10
print(f(23))

Ответ: 96123346573029105521

Ошибка.
Попробуйте повторить позже

Задача 17#60479

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

F (1) = 1

F (2) = 1

F (3) = 1

F (n) = F(n − 1) ∗3− F (n − 3)  , при n > 3

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

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

Показать ответ и решение
def f(n):
    if n <= 3:
        return 1
    if n > 3:
        return f(n-1)*3-f(n-3)
print(f(10))

Ответ: 953

Ошибка.
Попробуйте повторить позже

Задача 18#60478

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

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

F (n) = F(n∕∕3)+ F (n − 1)+ 2  , при n > 3

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

Примечание. Знак // – означает деление нацело.

Показать ответ и решение
def f(n):
    if n <= 3:
        return 1
    if n > 3:
        return f(n//3)+f(n-1)+2
print(f(7))

Ответ: 13

Ошибка.
Попробуйте повторить позже

Задача 19#60477

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

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

F (n) = F(n − 1) ∗n +F (n− 5)∗ 5  , при n > 2

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

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

Показать ответ и решение
def f(n):
    if n <= 2:
        return 1
    if n > 2:
        return f(n-1)*n+f(n-5)*5
print(f(15))

Ответ: 2083605774875

Ошибка.
Попробуйте повторить позже

Задача 20#59594

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

F (n) = n− 3  , при n ≤ 1

F (n) = F(n − 3) +n + 1  , при n > 1

Найдите наименьшее значение n  при котором F (n ) > 700  .

Показать ответ и решение
def F(n):
    if n <= 1:
        return n-3
    if n > 1:
        return F(n-3) + n + 1
for n in range(1000):
    if F(n)>700:
        print(n)
        break

Ответ: 63
Рулетка
Вы можете получить скидку в рулетке!