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

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

F (n) = 2∗ n+ 1  , при <img alt="n

F (n) = 2∗ F(n− 1)+ F (n ∕2)+ n  , если 5 » class=»math» src=»/images/inform/quest/quest-3329-6.svg» width=»auto»> и кратно 3

F (n) = 2∗ n∗n + F(n − 1)+ F(n∕2)  , если 5 » class=»math» src=»/images/inform/quest/quest-3329-8.svg» width=»auto»> и некратно 3

Чему равна сумма четных цифр числа, полученного при выполнении вызова F (85)  ?

Примечание: знак «/» обозначает целочисленное деление.

def f(n):
 
    if n < 6:
 
        return 2 * n + 1
 
    if n > 5 and n % 3 == 0:
 
        return 2 * f(n — 1) + f(n // 2) + n
 
    if n > 5 and n % 3 != 0:
 
        return 2 * n * n + f(n — 1) + f(n // 2)
 

 
s = str(f(85))
 
summa = 0
 
for i in s: summa += int(i) * (int(i) % 2 == 0)
 
print(summa)
 

 
### Как вычислить по-умному:
 

 
ans = 0
 
res = f(85)
 
while res > 0:
 
    ans += ((res + 1) % 2) * (res % 10)
 
    res //= 10
 
print(ans)
 

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