본문 바로가기
Programming/Project Euler

Project Euler(프로젝트 오일러) Problem 2 - Python

by BACKK0M 2019. 4. 2.
반응형

문제

피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.

 

1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ...

 

짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?

Project Euler Problem 2

피보나치 수열의 특성은 현재의 항의 값은 바로 앞의 항 두 개를 더한 값입니다. 바로 앞의 항 두개를 나타내는 변수인 prev와 curr를 활용하여 문제를 해결해 나가고자 합니다.

 

prev와 curr를 더한 결과(data)가 400만이 넘을 경우 반복문에서 빠져나오게 되는데, 더한 결과(data)가 짝수(2로 나누었을 때 나머지가 0인 수)인 경우 result 변수에 더해줍니다.

 

prev 변수 값을 curr 값으로, curr 변수 값을 data 값으로 하여 새로운 항을 구할 수 있도록 해줍니다.

 

Python code

 

답: 4613732

반응형