Форум » Форум » Задача 16.80 из раздела подготовки к ЕГЭ » Ответить

Задача 16.80 из раздела подготовки к ЕГЭ

Zyka: Срочно нужна ваша помощь! Здравствуйте, готовлюсь к Егэ сам нужна помощь. В вашем решение стоит ограничение на рекурсию 100. Что не так с моим кодом, почему нельзя обернуть в самой функции рекурсию в try-except. Можете пожалуйста до 20 числа ответить. Прикрепляю код с комментариями там условие, ваше решение и моё решение. Также сохраняем решения на гитхаб ваших задач) ссылка ниже. https://github.com/ZykaMyzyka/EGE А теперь сам код... # условие ''' 80) Алгоритм вычисления функции F(n), где n – целое число, задан следующими соотношениями: F(n) = n, при n > 5, F(n) = n + F(n / 3 + 2), когда n > 5 и делится на 3, F(n) = n + F(n + 3) , когда n > 5 и не делится на 3. Назовите минимальное значение n, для которого F(n) определено и больше 1000. ''' # вариант вашего решения с сайта import sys sys.setrecursionlimit(100) def F(n): if n <= 5: return n if n % 3 == 0: return n + F(n//3 + 2) else: return n + F(n+3) n = 1 while True: try: r = F(n) except: pass else: print(n, r) if r > 1000: break n += 1 #мой вариант решения def a(n): try: if n<=5: return n elif n>5 and n%3==0: return n+a(n/3+2) elif n>5 and n%3!=0: return n+a(n+3) except: return False for i in range (1,1001): k=a(i) if k!=False: if k>1000: print (i,k) break --------------‐--------------------------- Ответ 732, но я получаю 7 помогите пожалуйста

Ответов - 0



полная версия страницы