배운 것/Python

[기초 문법] 피보나치 수열(임시 저장소 'temp' 변수 설정)

MOR1ATY 2022. 1. 4. 14:16

 

피보나치수열 : 1, 1, 2, 3, 5, 8, 13, 21, ... 와 같이 첫 번째 항과 두 번째 항이 1이고 그다음 항부터는 직전의 두 항을 더한 값으로 나타나는 수열

 

이를 순서대로 출력하는 프로그램을 만들면,

 

1
2
3
4
5
6
7
8
9
pre = 0 # 이전항
cur = 1 # 현재항
= 1
 
while i <= 50 :
    print(cur)
    cur = pre + cur
    pre = cur - pre # 이전항은 현재항과 그 이전의 항의 차로 표현됨 
    i += 1
cs

 

위는 내가 만든 프로그램이고 다른 방법으로는,

 

1
2
3
4
5
6
7
8
9
10
pre = 0
cur = 1
= 1
 
while i <= 50:
    print(cur)
    temp = pre  # pre값을 임시 보관소 temp에 저장
    previous = cur
    current = cur + temp  # temp에는 기존 previous 값이 저장돼 있음
    i += 1
cs

 

내가 생각한 두 방법의 차이는, 내가 만든 프로그램의 방법은 피보나치수열 자체를 좀 더 수학적으로 접근한 방법이고  다른 방법은 값을 임시로 저장하는 'temp'변수를 따로 만들어 좀 더 프로그래밍에 적합한 방법인 것 같음