1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> void fibonacci(int n, int a, int b) { if (n == 0) return; printf("%d ", a); fibonacci(n - 1, b, a + b); } int main() { int a; scanf_s("%d", &a); fibonacci(a, 1, 1); return 0; } | cs |
오늘 재귀함수로 피보나치 수열 출력하는거 만들었거든
위에 코드가 내가 짠거임
그런데 교수님이 소개해주는 것도 그렇고 인터넷 찾아보니까
1 2 3 4 5 6 7 | int fibo(int n){ if(n == 0) return 0; else if(n == 1) return 1; else return fibo(n-1) + fibo(n-2); } | cs |
다 이런식으로 0이나 1 아니면 재귀 함수를 호출하는데 n-1이랑 n-2로 호출해서 더한걸 리턴하는 식으로 짜더라고
혹시 내가 짠거랑 인터넷에 있는거랑 다른게 있음? 출력은 잘되는것 같은데 인터넷에는 아래 방식이 더 많으니 뭔가 아래쪽이 더 빠른가 싶기도 함