피보나치수열의 합2 > 문제은행



문제은행

3283 : 피보나치수열의 합2

제한시간: 1000 ms    메모리제한: 128 MB
해결횟수: 3 회    시도횟수: 10 회   



피보나치수열이란 

첫 번째 수와 두 번째 수는 1이고

세 번째 수부터는 앞의 두 수를 더하여 나오는 수열이다.

 

피보나치수열을 첫 번째 수부터 나열해 보면 다음과 같다.

 

 

1, 1, 2, 3, 5, 8, 13 ...

 

자연수 N과 M을 입력받아 N번째 수 까지의 피보나치 수들 중에 짝수들의 합을 구하여

M으로 나눈 나머지를 출력하는 프로그램을 작성하시오.

※ a, b, mod가 양의 정수, a^b = a의 b제곱 이라고 할 때, 

    나머지 연산에 관하여 다음과 같은 성질이 있다고 한다.

 

  (a + b) % mod = (a % mod + b % mod) % mod

  (a - b) % mod = (a % mod - b % mod ) % mod에서 결과값이 음수인 경우를 피하려면 (a % mod - b % mod + mod) % mod ​

  (a * b) % mod = (a % mod * b % mod) % mod​ 

  (a^b % mod) = (a % mod) ^ b % mod  ​




첫 행에 N(1 <= N <= 2,000,000)과 M(10,007 <= N <= 1,000,000,007 범위의 소수)이 공백으로 구분되어 입력된다.



하나의 행에 N번째 까지의 피보나치 수들 중에 짝수의 합을 구하여 M으로 나눈 나머지를 출력한다.


7 10007
10


출처 : comkiwer




HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 031-388-0999 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.