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

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

F (n) = n  , при n < 6

F (n) = n+ F (n ∕2)⋅2  , если n > 5  » class=»math» width=»auto»> и остаток от деления <img decoding= на 2  равен 0

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

Определите наименьшее значение n  из отрезка [1;1000]  , при котором сумма цифр значения F (n)  равна 22  .

def f(n):
    if n < 6:
        return n
    if n % 2 == 0:
        return n + f(n // 2) * 2
    return f(n - 2) + f(n - 1)


for i in range(1, 1001):
    if sum(map(int, str(f(i)))) == 22:
        print(i)
        break

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