문제
https://www.acmicpc.net/problem/1003
풀이과정
오늘 문제 푸는 날인지 모르고 있다가 급하게 푸느라 조금 쉬운 문제를 풀었다.
피보나치 함수를 fibonacci(N) 이라고 두고 재귀로 구하는 함수가 주어지는데 이 때 fibonacci(0)과 fibonacci(1)이 몇 번 호출되는지 구하면 되는 문제이다. 그냥 호출될 때마다 배열에 숫자를 올려서 나중에 출력했다.
소스코드
#include <iostream>
using namespace std;
int cnt[2];
int fibonacci(int n)
{
if (n == 0)
{
cnt[0]++;
}
else if (n == 1)
{
cnt[1]++;
}
else
{
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main()
{
int T,N;
cin >> T;
for (int i = 0; i < T; i++)
{
cin >> N;
fibonacci(N);
cout << cnt[0] << " " << cnt[1];
cout << endl;
cnt[0] = 0;
cnt[1] = 0;
}
return 0;
}