Срочно нужна ваша помощь!
Здравствуйте, готовлюсь к Егэ сам нужна помощь.
В вашем решение стоит ограничение на рекурсию 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 помогите пожалуйста