개발/문제풀이

Code. 프로젝트 오일러. KR 2번. C++

ordi2016. 9. 19. 19:27

프로젝트 오일러 KR 2번.


피보나치 수열에서 400만 이하이면서 짝수인 항의 합



문제 출처.

http://euler.synap.co.kr/prob_detail.php?id=2



요점.

피보나치 수열을 한.항.씩 올라가면서, 각 항을 짝수인지 체크한다.

그리고 해당 항이 짝수이면 합을 저장하는 변수에 더한다.



풀이 방법.

피보타치수열을 일반화 시켜보면



여기에 초기 값을



으로 문제에서 주었다.


그럼 계속 다음 항으로 넘어가면서 해당 항이 짝수이면 

sum 이라는 변수에 더해주었다.


그리고 피보나치 항이 짝수가 나올 때 마다, 현재 상태를 확인 하기 위해

<합> <이전의 피보나치 항> <현재의 피보나치 항>

을 출력했다.


마지막으로 현재의 피보나치 항이 400만을 넘어가면 반복문을 종료 하였다.




소스 코드.




콘솔.


2 1 2

10 5 8

44 21 34

188 89 144

798 377 610

3382 1597 2584

14328 6765 10946

60696 28657 46368

257114 121393 196418

1089154 514229 832040

4613732 2178309 3524578

=>4613732


느낌.

1) 피보나치 수열을 코딩해보았다.

2) 오보플로우가 발생할까봐 조마조마 했지만 다행히 넘진 않았다.

3) const의 개념과 #define 둘중에 어느게 더 좋은건지 감이 안잡힌다. 공부해봐야겠다.

댓글

Pmon

뭐든 간에 기록하자

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘

Lately Post

Lately Comment

VISITED

Today :

Total :