본문으로 이동

피보나치 수

위키백과, 우리 모두의 백과사전.
피보나치 수를 이용한 사각형 채우기

수학에서 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다.

역사

[편집]

피보나치 수가 처음 언급된 문헌은 기원전 5세기 인도수학자 핑갈라가 쓴 책이다.

유럽에서 피보나치 수를 처음 연구한 것은 레오나르도 피보나치로 토끼 수의 증가에 대해서 이야기하면서 이 수에 대해 언급했다. n 번째 달의 토끼 수는

  • 첫 달에는 새로 태어난 토끼 한 쌍만이 존재한다.
  • 두 달 이상이 된 토끼는 번식 가능하다.
  • 번식 가능한 토끼 한 쌍은 매달 새끼 한 쌍을 낳는다.
  • 토끼는 죽지 않는다.

따라서 첫 달에는 새로 태어난 토끼 한 쌍이 있고, 두 번째 달에는 그대로 토끼 한 쌍, 세 번째 달부터는 이 토끼 한 쌍이 새끼를 낳게 되어 토끼가 2쌍이 되고, 네 번째 달에는 3쌍, 다섯 번째 달에는 5쌍이 된다. 이때 n번째 달에 a 쌍의 토끼가 있었고, 다음 n+1번째 달에는 새로 태어난 토끼를 포함해 b쌍이 있었다고 하자. 그러면 그다음 n+2 번째 달에는 a+b 쌍의 토끼가 있게 된다. 이는 n번째 달에 살아있던 토끼는 충분한 나이가 되어 새끼를 낳을 수 있지만, 바로 전 달인 n+1번째 달에 막 태어난 토끼는 아직 새끼를 낳을 수 없기 때문이다.

정의

[편집]

점화식을 통한 정의

[편집]

피보나치 수 는 다음과 같은 초기값 및 점화식으로 정의되는 수열이다.

0번째 항부터 시작할 경우 다음과 같이 정의된다.

처음 몇 피보나치 수(0번째부터 시작할 경우)는 다음과 같다.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, … (OEIS의 수열 A000045)

일반항

[편집]

피보나치 수의 일반항은 다음과 같다.[1]:19,(1.20)

여기서 황금비이며, 는 5의 음이 아닌 제곱근이다. 이를 비네 공식(영어: Binet's formula)이라고 한다. 이는 레온하르트 오일러1765년 처음 발표했으나 잊혔다가, 1848년 자크 비네에 의해 재발견되었다.

증명

[편집]

피보나치 수열의 일반항에 대한 증명은 아래와 같다.

a+b=1, ab=-1 인 두 실수 a,b를 가정하자. 그러면 a,b는 이차방정식 의 두 근이고 이때 판별식 D>0이므로 실수 a,b는 존재함을 알 수 있다.

그러면 피보나치 수열의 점화식 으로 쓸 수 있고,

우변의 을 좌변으로 이항하면 이 된다. 즉 양변에 동일한 형태를 만들어주었으므로, 이제 을 등비수열로 다룰 수 있게 된다. 이때 초항은 이고, 공비는 b가 된다.

따라서 등비수열의 일반항 공식을 이용해주면 이 된다. 그런데 피보나치 수열에서 첫항과 둘째항은 둘 다 1이므로, 다시 써주면 ( 식 1)이다(a+b=1에 의해 1-a=b이므로).

그런데 위의 변형된 피보나치 점화식에서 a와 b는 대칭적인 위치에 있으므로, 에서 우변의 을 좌변으로 이항한 뒤 같은 방식으로 변형해주면 ( 식 2)으로 써줄 수 있다.

이제 식1과 식2를 변변끼리 빼주면, , 이다. 이때 앞선 이차방정식 을 통해 a와 b를 직접 구해주면 둘 중 하나가 황금비가 나오는데, a와 b 중 어떤 것을 황금비로 설정하든 결과는 같다. a와 b는 대칭적인 위치에 있기 때문이다. b를 황금비라고 치면, , 이므로 이 된다.

성질

[편집]

항등식

[편집]

다음과 같은 항등식이 성립하며, 카시니 항등식(영어: Cassini's identity)이라고 한다.

다음과 같은 항등식이 성립하며, 이를 도가뉴 항등식(영어: d'Ocagne's identity)이라고 한다.[1]:9,(1.8)

다음과 같은 항등식이 성립한다.[1]:20

피보나치 수를 점화식을 통해 음의 정수에까지 확장할 수 있다. 이 경우, 비네 공식이 여전히 성립하며, 또한 다음이 성립한다.[1]:37,(1.40)

급수 공식

[편집]

처음 몇 피보나치 수의 합,[1]:5,(1.1) 교대합,[1]:6,(1.6) 제곱합,[1]:6,(1.7) 세제곱합[1]:21은 다음과 같다.

처음 몇 피보나치 수의 홀수째,[1]:5,(1.2) 짝수째,[1]:6,(1.3) 3의 배수째[1]:21 항의 합은 다음과 같다.

피보나치 수의 역수의 합은 수렴하며, 또한 다음 항등식들이 성립한다.[1]:33,(1.34),33,34

홀수 위치에서 피보나치 수의 역수의 합은 다음 값을 갖는다:

λ*은 모듈러 람다 함수이다.

K는 제 1 종 완전 타원 적분이다.

생성 함수

[편집]

피보나치 수의 생성 함수는 다음과 같다.[1]:28,(1.28)

피보나치 수의 역수생성 함수는 다음과 같이 나타낼 수 있다.[1]:35,(1.36),35,36,36

점근 공식

[편집]
이웃하는 피보나치 수의 비

이웃하는 피보나치 수의 황금비로 수렴한다.

또한, 다음과 같은 부등식이 성립한다.[1]:23

수론적 성질

[편집]

피보나치 수열은 서로 인접한 항끼리 서로소이다. 이는 귀납법으로 간단히 증명할 수 있다.

소스 코드

[편집]

피보나치 수열은 아래와 같이 함수의 재귀적 용법으로 구현할 수 있다.

def fib(n):
    if n == 0 or n == 1:
        return n

    return fib(n-2) + fib(n-1)

위 코드는 메모이제이션을 통해 성능을 개선할 수 있다.

memo = {}

def fib(n):
    if n == 0 or n == 1:
        return n

    if n not in memo:
        memo[n] = fib(n-2) + fib(n-1)

    return memo[n]

같이 보기

[편집]

각주

[편집]
  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Vorobiev, Nicolai N. (2002) [1992]. Fibonacci Numbers (영어). 번역 Martin, Mircea. Springer Basel AG. doi:10.1007/978-3-0348-8107-4. ISBN 978-3-7643-6135-8.

외부 링크

[편집]