Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = n, при
F(n) = 2*n + F(n — 1), при четном n и n > 3;
F(n) = n*n + F(n — 2), при нечетном n и n > 3;
Определите количество натуральных значений n на отрезке [1; 100], при которых F(n) кратно 3.
def f(n):
if n <= 3:
return n
elif n % 2 == 0:
return 2 * n + f(n - 1)
else:
return n * n + f(n - 2)
cnt = 0
for i in range(1, 101):
x = f(i)
if x % 3 == 0:
cnt += 1
print(cnt)
Ответ: 32