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

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

F (n) = 2∗ n+ 1  , при n < 6

F (n) = 3∗ F(n− 1)+ F (n ∕∕2) + n  , если n > 5  » class=»math» width=»auto»> и кратно 3 </p>
<p class= F (n) = 5∗ n∗n + F(n − 1)+ F(n∕∕2)  , если n > 5  » class=»math» width=»auto»> и некратно 3 </p>
<p class= Определите наименьшее такое n  из отрезка [1;1000]  , при котором значение F(n)  заканчивается на 8.

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


for i in range(1, 1000 + 1):
    if f(i) % 10 == 8:
        print(i)
        break

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