Задача к ЕГЭ по информатике на тему «задачи под вебы» №6

Источник: https://kpolyakov.spb.ru/

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

F (n) = n⋅n + 5⋅n + 4,при n > 30  » class=»math» src=»/images/inform/quest/quest-7807-2.svg» width=»auto»> </p>
<p class= F (n) = F(n +1) +3 ⋅F(n + 4), при ч етны х n ≤ 30

F (n) = 2⋅F (n + 2)+ F(n + 5), при н ечетны х n ≤ 30

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

# Инициализация списка f длиной 2000 элементов, заполненного нулями
f = [0] * 2000
c = 0  # Счетчик для подсчета значений, сумма цифр которых равна 27
# Заполнение списка f в обратном порядке от 1999 до 0
for n in range(1999, -1, -1):
    if n > 30:
# Для n > 30 вычисляем значение по формуле
        f[n] = n * n + 5 * n + 4
    elif n % 2 == 0:
# Если n четное, вычисляем следующее значение функции
        f[n] = f[n + 1] + 3 * f[n + 4]
    else:
# Если n нечетное, вычисляем другое значение функции
        f[n] = 2 * f[n + 2] + f[n + 5]
# Подсчет количества значений f[n] для n от 1 до 1000,
# сумма цифр которых равна 27
for n in range(1, 1001):
    if sum(map(int, str(f[n]))) == 27:
        c += 1  # Увеличиваем счетчик, если сумма цифр равна 27
print(c)

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