-
[C] 재귀함수를 이용한 피보나치 수열 출력C 2024. 4. 18. 11:39반응형
재귀함수를 이용해 피보나치 수열을 출력하는 예제 예시들
#include "stdio.h" int fibo(int N) { if (N > 1) return fibo(N - 1) + fibo(N - 2); else if (N == 0) return 0; else if (N == 1) return 1; } int main(void) { int n, result; scanf("%d", &n); result = fibo(n); printf("%d", result); }
#include "stdio.h" int fibo(int n) { if(n <= 1) return n; return fibo(n - 1) + fibo(n - 2); } int main(void) { int num; scanf("%d", &num); printf("%d", fibo(num)); return 0; }
코드해석
위 코드블록의 기본적인 구조는 변수 'n'이 1이나 0이 될때까지 함수(인수-1)+함수(인수-2)의 구조로 자기 자신을 호출하는 것이다
출처:https://zzang9ha.tistory.com/188,프로그래머스 Tistrory 매개변수로 5가 입력된다면 fibo(5-1)+fibo(5-2)이기 때문에 4와 3이 다시 한번 fibo함수로 내려가고
if문에 의해 n이 1 이하가 된것을 검사하면 return 1이나 return 0를 하여 다시 위로 돌아온다.
최종적으론 피보나치 수열에서 5번째에 해당하는 값인 '5'가 출력된다.
'C' 카테고리의 다른 글
[C] Backjoon 1002번,2525번,2563번,2884번 문제정답코드 (0) 2024.04.22 [C] 간단한 복권추첨기 만들기 (0) 2024.04.18