Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

егэ информатика 16 задание

Геннадий Геннадий Ученик (116), на голосовании 1 день назад
Выводится ошибка, связанная с глубиной рекурсии
условие задачи на фотомоё решение:
def F(n):
if n>=2222:
return n
if n<2222:
return n**3 + F(n+2)
print(F(4)-F(10))
Голосование за лучший ответ
Андрей Высший разум (457230) 1 месяц назад
Тупо в лоб, но без рекурсии:
 f = [0] * 2222 + [2222, 2223]
for i in range(2221, 3, -1): f[i] = i ** 3 + f[i + 2]
print(f[4] - f[10])

А вот так эта задача делается правильно:
 f(4) = 4³ + f(6) = 4³ + 6³ + f(8) = 4³ + 6³ + 8³ + f(10)
f(4) - f(10) = 4³ + 6³ + 8³ + f(10) - f(10) = 4³ + 6³ + 8³
Ответ: 4³ + 6³ + 8³ БЕЗ программирования.
Jurijus Zaksas Искусственный Интеллект (442810) 1 месяц назад
Ну установи рекурсию поглубже:

 sys.setrecursionlimit(1500) 

А вообще-то дядя Андрей дело говорит и никакая рекурсия и написание каких-либо программ тут ни в пень не уперлись.
Лев Михайлов Мыслитель (6897) 1 месяц назад
 def f(n): 
if n >= 2222:
return n
t = 1110 - n // 2
return (1 + t) * (n + t) * (n**2 + 2 * t * (n + t + 1)) + 2222 + n % 2

print(f(4) - f(10))
Похожие вопросы