아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

피보나치 수의 제곱의 합

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

요약
n이 주어지면 0번째부터 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이 주어지면 0번째 피보나치 수의 제곱부터 nn번째 피보나치 수의 제곱까지 모두 더한 값을 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 F02+F12+⋯+Fn2F_0^2 + F_1^2 + \cdots + F_n^2을 1,000,000,007로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

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

    입력
    1
    
    예상 출력
    1