У меня есть вопрос, который спрашивает, сколько раз «1» печатается, если ниже код выполняется:Несколько рекурсии в одном операторе
#!/usr/local/bin/python2.7
def rec(n):
count = 1
if n > 0:
count += rec(n - 1) + rec(n - 1)
print '1'
return count
rec(5)
ответа = 63
При попытке решить выше проблемы, показанной выше, я был смущен определенными понятиями рекурсии.
1> Как подойти к проблемам с несколькими рекурсивными вызовами в одном утверждении. В вопросе, в каком порядке происходит рекурсия, одновременно или один за другим.
2> Я узнал (в C), что в рекурсивной функции всегда должно быть условие, которое определяет количество рекурсий, я не могу найти такое условие, поэтому как узнать количество уровни.
'Когда код, сколько раз '1' печатается ниже исполняется '... Выполнить код один раз :) – thefourtheye
@thefourtheye, Отвечать 63, Но как? –
И почему бы вам просто не сделать '2 * rec (n - 1)'? – thefourtheye