Задание 16. Информатика. Фоксфорд 2023-4
- Просмотры: 56
- Изменено: 21 ноября 2024
Алгоритм вычисления значения функции \(F(n)\), где \(n\) — натуральное число, задан следующими соотношениями:
\(F(n) = 6\) при \(n=1;\)
\(F(n) = 3n + F(n-1),\) если \(n>1\).
Чему равно значение выражения \(F(2023) - F(1984)\)?
Решение:
При \(n>1\) функцию \(F(n)\) можно представить в виде $$ F(n) = 6 + 3 \cdot 2 + 3 \cdot 3 + \cdots + 3 \cdot n $$ Значит, $$ F(2023) - F(1984) = 3 \cdot 1985 + 3 \cdot 1986 + \cdots + 3 \cdot 2023 = 3 \sum_{i = 1985}^{2023} i $$
Python
3*sum(range(1985, 2024))
Эту же задачу можно также решить "в лоб" с помощью динамического программирования.
Python
arr = [None, 6]
for i in range(2, 2024):
arr.append(3*i + arr[i-1])
print(arr[2023]-arr[1984])
Ответ: \(234468\)