피보나치수열

ai_lim·2021년 12월 30일
0

파이썬 기초

목록 보기
2/6

피보나치수열은

1 1 2 3 5 8 13 21 ...

계속해서 앞에 두 항을 더해나가는 수열이다.
이걸 파이썬으로 코딩하면 어떻게 표현해야할까?

표현방법1

1.처음 나오는 1,1 고정

2.for>범위를 잘모르니 x
if>조건문이 아니니 x
while이 제일 맞는 듯 하다

3.100이 될때까지 반복해보자

4.출력은 어떤 방식으로? 리스트에 추가하는 방식으로 해보자

a,b=1,1
fibo=[1]
while b<100:
	a,b=b,a+b
    fibo.append(b)
print(fibo)

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

표현방법2

1.내가 알고싶은건 10번째자리의 피보나치수

2.함수호출 fibo(10) 이런 식으로 표현하고 싶다

3.100번째자리의 피보나치수는 8번째와 9번째를 더한것

4.1번째와 2번째 피보나치수는 1로 고정

 def fibo(n):
    if n<=2:
        number=1
    else:
        number=fibo(n-1)+fibo(n-2)
    return number

print(fibo(10))

>>55

0개의 댓글