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

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

F (0) = 0;

F (n) = 3⋅F (n∕∕3), при n кратном 3, но не кратном 2 и 5;

F (n) = 2⋅F (n∕∕2), при некратном 3 и 5, но кратном 2 ;

F (n) = 5⋅F (n∕∕5), при n,кратном 5, но некратном 3 и 2;

F (n) = 2⋅n, при други х значениях n.

При каких значениях n  , F (n )  находится в диапазоне: от 1000  до 3000  включительно? В ответ укажите сумму четных значений n  .

def F(n):
    if n == 0:
        return 0
    if n % 3 == 0 and n % 2 != 0 and n % 5 != 0:
        return 3*F(n//3)
    if n % 3 != 0 and n % 5 != 0 and n % 2 == 0:
        return 2*F(n//2)
    if n % 5 == 0 and n % 3 != 0 and n % 3 != 0:
        return 5*F(n//5)
    else:
        return 2*n


ans = 0
for i in range(0, 10000, 2):
    if 1000 <= F(i) <= 3000:
        ans += i
print(ans)

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