만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

피보나치 수 7

면접 대비

시간 제한1초메모리 제한512 MB

요약
n이 최대 100만일 때 n번째 피보나치 수를 1,000,000,007로 나눈 나머지를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 수학, 구현
정답자
아직 제출이 없습니다

문제

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고 1번째 피보나치 수는 1이다. 2번째부터는 바로 앞의 두 피보나치 수를 더한 값이다.

식으로 쓰면 Fn=Fn−1+Fn−2F_n = F_{n-1} + F_{n-2} (n≥2n \ge 2)이다.

n=17n = 17까지의 피보나치 수를 나열하면 다음과 같다.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597

nn이 주어졌을 때 nn번째 피보나치 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 nn이 주어진다. nn은 0이거나 1,000,000 이하의 자연수이다.

출력

첫째 줄에 nn번째 피보나치 수를 1,000,000,007로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    10
    
    예상 출력
    55
    
  2. 예제 2

    입력
    1000
    
    예상 출력
    517691607