Информатика ЕГЭ. 16. Python рекурсия
Задача: Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n*n*n + n*n + 1, при n ≤ 13
F(n) = F(n-1) + 2*n*n — 3, при n > 13, кратных 3
F(n) = F(n-2) + 3*n + 6, при n > 13, не кратных 3
Определите количество натуральных значений n из отрезка [1; 1000], для которых все цифры значения F(n) нечётные.
Написал вот такой код:
def f(n):
if n <= 13:
return n * n * n + n * n + 1
elif n > 13 and n % 3 == 0:
return f(n-1) + 2 * n * n -3
elif n > 13 and n % 3 != 0:
return f(n-2) + 3 * n + 6
Теперь вопрос, как найти только те значения n, в которых все цифры числа нечетные?
После функции снизу пишешь:
x = 0
for i in range(1, 1001):
if F(n) // 2 == 0:
x += 1
Определите количество натуральных значений n из отрезка 1 1000 при которых значение f n кратно 7
Помогите, пожалуйста, разобраться.
Есть задача:
Алгоритм вычисления функции F(n) задан следующими соотношениями:
F(n) = n * n + 3 * n + 9, при n <= 15
F(n) = F(n–1) + n – 2, при n > 15, кратных 3
F(n) = F(n–2) + n + 2, при n > 15, не кратных 3
Определите количество натуральных значений n из отрезка [1; 1000], для которых все цифры значения F(n) чётные.
Выдаёт:
»*Непредвиденное исключение EStackOverflow. Stack overflow. Программа завершена (Program1.pas, строка 6)