본문 바로가기
프로그래밍/독학(어려워요 같이해요)

피보나치 수열 파이썬으로 구현해보자.

by 노마드데이터랩 2021. 5. 8.
728x90
반응형

피보나치 수열(Fibonacci Sequence)라고 들어 보셨나요?

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

우선 피보나치 수열의 1번 항과 2번 항은 각각 1입니다. 3번 항부터는 바로 앞 두 항의 합으로 계산됩니다. 예를 들어서 3번 항은 1번 항(1)과 2번 항(1)을 더한 2이며, 4번 항은 2번 항(1)과 3번 항(2)을 더한 3입니다.

피보나치 수열의 첫 50개 항을 차례대로 출력하는 프로그램을 작성해 보세요.

출력결과는 다음과 같이 나와야 합니다.

1 2 3 5 8 13 21 . . . 4807526976 7778742049 12586269025

 

제가 작성한 코드는 다음과 같습니다.

prev = 1
next = 1
temp = 0
count = 2
while count <= 51:
    print(prev)
    temp = next
    next = prev + next
    prev = temp
    count += 1

 

다음은 모범답안입니다.

previous = 0
current = 1
i = 1

while i <= 50:
    print(current)
    temp = previous  # previous를 임시 보관소 temp에 저장
    previous = current
    current = current + temp  # temp에는 기존 previous 값이 저장돼 있음
    i += 1

 

이걸 더 깔끔하게 쓰는 다른답안입니다. (파이썬만 이 문법이 가능하다고 합니다.)

previous = 0
current = 1
i = 1

while i <= 50:
    print(current)
    previous, current = current, current + previous
    i += 1

 

728x90
반응형

댓글