나는 피보나치 수식이 어떻게 작동 하는지를 알았지 만 재귀 부분은 어떻게 작동하는지 이해했다. 예를 들어, fib (4)는 fib (3) + fib (2)를 호출합니다. 이 메서드는 fib (3) 및 fib (2)의 값을 어떻게 결정합니까? 나는 Ruby의 초보자이므로 멍청한 질문을하는 것에 대해 실례합니다.피보나치 코드 (Ruby)가 어떻게 작동합니까?
3
A
답변
4
재귀는 '중단 점'이 발생할 때까지 반복적으로 자신을 호출하여 작동합니다. fib (1) 및 fib (0) 값을 fib (2) 및 fib (1) ... 메서드가 호출 한 fib (3) 및 fib (2), fib (3) 호출하는 Fib (4) 1.
로 저를 시각적으로 설명하려고하자
> fib(4) = fib(3) + fib(2)
> => fib(2) + fib(1) + fib(1) + fib(0)
> => fib(1) + fib(0) + 1 + 1 + 1
1
이는 아무 상관이 여기에 깊은 연구를 수행하려는 경우 피보나치와 또는 루비. 재귀에 문제가 있습니다 ... 재귀 작업에 대해 이미 100 번 질문하고 답했습니다. – Polygnome
여기를보세요 http://stackoverflow.com/questions/38580523/understanding-the-fibonacci-sequence/38582180#38582180 –