파이썬(Python)

[Python] 피보나치(Fibonacci) 수열이란? 파이썬으로 구현하기

끄적끄적아무거나 2022. 6. 22. 19:11
반응형

 

목차

     

     

    피보나치 수열이란?

    피보나치 수열이란 첫번째 두번째 수는 1로 결정되어 있고 그 뒤의 수는 항상 바로 앞 두 개의 값의 합으로 표현합니다.

     

    1, 1, 2, 3, 5, 8, 13 ....

     

    위처럼 처음에 1, 1은 정해지고 다음 2는 앞 두수의 합 1+1이 됩니다. 3은 그 앞 1+2가 되는 것입니다.

     

     

    개념은 쉽지만 수식으로 접근하면 아래와 같이 복잡한 수식이 됩니다. 

     

     

    By Romain - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=114415511

     

    위 그림은 피보나치의 스파이럴(Spiral)로 피보나치 수열 전개에 따라 선을 그리면 그림처럼 이상적인 스파이럴(Spiral) 구조로 그림이 완성됩니다. 

     

     

     

    피보나치 수열 파이썬 구현

     

    수학적으로 어렵지만 파이썬 구현은 간단하게 반복문으로 진행할 수 있습니다.

     

    코드>>

    cnt = 1
    pre =0
    cur = 1
    print("1")
    while cnt < 20:
        next = cur + pre
        print(next)
        pre = cur
        cur = next
        cnt = cnt + 1

     

    결과>>

    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    89
    144
    233
    377
    610
    987
    1597
    2584
    4181
    6765

     

     

    반응형