BOJ 1003[백준 1003]
조건
- n은 40보다 작거나 같은 자연수이다.
- 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.
- 식으로 표현하면 Fn = Fn-1 + Fn-2 (n>=2)이다.
결과
- n번째 피보나치 수를 구할 때, 0과 1이 각각 몇번 호출되는지.
해결 방법
- 문제에서 주어진 코드를 그대로 활용하면, 재귀함수이기 때문에 시간 초과가 뜬다.
- 0과 1이 호출되는 것 또한, 피보나치 수를 구하는 방법과 같다.
핵심 코드
1 | for (int j = 0; j <= num; j++) { |
전체 소스 코드는 여기서 확인하실 수 있습니다.