Задача к ЕГЭ по информатике на тему «одна функция» №16

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

F (n) = n  , при <img src="/images/inform/quest/quest-3338-4.svg" alt="n

F (n) = n+ F (n − 1)∗2  , если 3 » class=»math» width=»auto»> и остаток от деления n  на 3 равен 0

F (n) = F(n∕2)+ F (n − 2)  , если 3 » class=»math» width=»auto»> и остаток от деления n  на 3 равен 1

F (n) = F(n − 1) +n2  , если 3 » class=»math» width=»auto»> и остаток от деления n  на 3 равен 2

Чему будет равно значение, вычисленное при выполнении вызова F(55)  ?

def F(n):
 
    if n < 4:
 
        return n
 
    if n % 3 == 0:
 
        return n + F(n — 1) * 2
 
    if n % 3 == 1:
 
        return F(n // 2) + F(n — 2)
 
    if n % 3 == 2:
 
        return F(n — 1) + n ** 2
 

 
print(F(55))
 

Ответ: 45030
Оцените статью
Я решу все!