Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
, при
, при
, при
Определите количество натуральных значений n из отрезка [1; 1000], для которых все цифры значения F(n) нечётные.
def f(n):
if n <= 15:
return 2 * n * n + 4 * n + 3
elif n > 15 and n % 3 == 0:
return f(n - 1) + n * n + 3
elif n > 15 and n % 3 != 0:
return f(n - 2) + n - 6
cnt = []
for i in range(1, 1001):
x = f(i)
flag = True
while x > 0:
if (x % 10) % 2 == 0:
flag = False
break
x //= 10
if flag:
cnt.append(i)
print(len(cnt))
Ответ: 27