문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7041 : 반복문 피보나치 함수

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 1 •통과: 1 •만든사람: suakii

7041 : 반복문 피보나치 함수

시간 1.000s · 메모리 256MB · 제출 1 · 정답 1

문제 설명

피보나치 수 $F(n)$은 다음과 같이 정의됩니다.
- $F(0) = 0$
- $F(1) = 1$
- $F(n) = F(n-1) + F(n-2)$ ($n \ge 2$)
여러 개의 인덱스 k가 주어질 때, 각 k에 대해 $F(k)$를 구하는 프로그램을 작성하십시오.

[주의] 이 문제는 재귀 함수(Recursion)를 사용할 경우 시간 초과 또는 메모리 초과가 발생할 수 있습니다. 반드시 반복문(Iterative)을 사용하여 피보나치 수를 계산하십시오. 재귀 함수를 사용해 호출을 진행할 경우 감점(오답 처리)될 수 있습니다.

[제약 조건]
• 각 인덱스 $k$: $0 \le k \le 80$

입력 설명

첫째 줄에 인덱스 $k$가 주어집니다. ($0 \le k \le 80$)

출력 설명

$k$번째 피보나치 수를 출력합니다.

입력 예시
COPY
복사되었습니다!

4

출력 예시
COPY
복사되었습니다!

3

도움

재귀를 사용하면 중복 연산으로 인해 $O(2^N)$의 시간이 걸리지만, 변수 두 개를 이용해 값을 갱신하는 반복문을 사용하면 $O(N)$으로 k=80까지의 피보나치 수도 1초 내에 안전하게 구할 수 있습니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘