피보나치수열 : 1, 1, 2, 3, 5, 8, 13, 21, ... 와 같이 첫 번째 항과 두 번째 항이 1이고 그다음 항부터는 직전의 두 항을 더한 값으로 나타나는 수열
이를 순서대로 출력하는 프로그램을 만들면,
|
1
2
3
4
5
6
7
8
9
|
pre = 0 # 이전항
cur = 1 # 현재항
i = 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
i = 1
while i <= 50:
print(cur)
temp = pre # pre값을 임시 보관소 temp에 저장
previous = cur
current = cur + temp # temp에는 기존 previous 값이 저장돼 있음
i += 1
|
cs |
내가 생각한 두 방법의 차이는, 내가 만든 프로그램의 방법은 피보나치수열 자체를 좀 더 수학적으로 접근한 방법이고 다른 방법은 값을 임시로 저장하는 'temp'변수를 따로 만들어 좀 더 프로그래밍에 적합한 방법인 것 같음
'배운 것 > Python' 카테고리의 다른 글
| [기초 문법] 함수 속 변수 정의 (0) | 2022.01.07 |
|---|---|
| [기초 문법] 중첩 while 문 (구구단 출력) (0) | 2022.01.04 |
| [기초 문법] 거스름돈 계산기 (함수) (0) | 2022.01.02 |
| [기초 문법] 변수의 범위(scope) (0) | 2022.01.02 |
| [기초문법] print와 return의 차이 (0) | 2022.01.01 |