반응형
문제
피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ...
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
피보나치 수열의 특성은 현재의 항의 값은 바로 앞의 항 두 개를 더한 값입니다. 바로 앞의 항 두개를 나타내는 변수인 prev와 curr를 활용하여 문제를 해결해 나가고자 합니다.
prev와 curr를 더한 결과(data)가 400만이 넘을 경우 반복문에서 빠져나오게 되는데, 더한 결과(data)가 짝수(2로 나누었을 때 나머지가 0인 수)인 경우 result 변수에 더해줍니다.
prev 변수 값을 curr 값으로, curr 변수 값을 data 값으로 하여 새로운 항을 구할 수 있도록 해줍니다.
답: 4613732
반응형
'Programming > Project Euler' 카테고리의 다른 글
Project Euler(프로젝트 오일러) Problem 4 - Python (0) | 2019.04.02 |
---|---|
Project Euler(프로젝트 오일러) Problem 3 - Python (0) | 2019.04.02 |
Project Euler(프로젝트 오일러) Problem 1 - Python (0) | 2019.04.02 |