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
반응형
'프로그래밍 > 독학(어려워요 같이해요)' 카테고리의 다른 글
파이썬 코딩할 때 전문가처럼 코딩해보기. Style Guide for Python Code 따르기. (0) | 2021.05.15 |
---|---|
파이썬 화씨 온도에서 섭씨 온도로 바꿔주는 코드 (0) | 2021.05.10 |
은행 이자가 더 좋을까 아파트를 사는게 더 좋을까 계산하는 파이썬 문제 (0) | 2021.05.08 |
while문을 사용하여, 100 이상의 자연수 중 가장 작은 23의 배수를 출력해 보세요 (0) | 2021.05.08 |
tensorflow GradientTape 질문 있습니다. (0) | 2020.05.07 |
댓글