Python 알고리즘 - euler 2번문제

Seunghwa's Devlog·2021년 2월 25일
0

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

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

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

<풀이>

a = 1
b = 2
temp = 2 # 결과값 임시 저장 변수
sum = 2 # 2도 짝수이므로 더해줘야해서 2로 고정

limit = 4000000 # 4000000 이하로 제한

while a <= 4000000:
    a = a+b # 피보나치 수열 계산
    b = temp # 이전의 값 임시 저장
    temp = a # 이전 결과 값 임시 저장

    if a%2 == 0: # 짝수 일때만 고려
        sum = sum + a

print(sum)

처음에 일반항을 구하려고 접근하다가 애를 많이 먹었다.
쉽게 차근차근 생각하자!

profile
에러와 부딪히고 새로운 것을 배우며 성장해가는 과정을 기록합니다!

0개의 댓글