피보나치가 어떻게 작동하는지 이해합니다.이 코드는 나를 미치게 만듭니다. 나는 한 다음이 반환 한도하지만 3 fib1로 전송됩니다 (N-1) + (N-2), 그래서 1로 시작하는이PYTHON : Trouble 피보나치 코드 이해
def fib1(n):
if n == 1 or n == 2:
return 1
return fib1(n-1) + fib1(n-2)
for i in range(1,10):
print(fib1(i))
output = 1 1 2 3 5 8 13 21 34
좋아 반환 잘못을 통과 할 수 있으며 반환 (3-1) + (3-2) == 3? 내가 잘못 포맷 한 것일 수도 있지만 어떻게되는지 설명해주십시오.
'FIB (2) + FIB (1)'. 'fib (1)'은 무엇입니까? 'fib (2) '란 무엇입니까? –
'(n-1) + (n-2)'가 아닙니다. 그것은'fib1 (n-1) + fib1 (n-2)'입니다. – user2357112
이것을 _recursion_이라고합니다. 하지만 불행하게도 재귀를 이해하기 위해서는 먼저 재귀를 이해해야합니다 ... – ForceBru