상위 질문
타임라인
채팅
관점
피보나치 수
위키백과, 무료 백과사전
Remove ads
수학에서 피보나치 수(영어: 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번째 달에 막 태어난 토끼는 아직 새끼를 낳을 수 없기 때문이다.
Remove ads
정의
요약
관점
점화식을 통한 정의
피보나치 수 는 다음과 같은 초기값 및 점화식으로 정의되는 수열이다.
0번째 항부터 시작할 경우 다음과 같이 정의된다.
피보나치 수의 처음 몇 항은 (0번째 항부터 시작할 경우) 다음과 같다.
일반항
피보나치 수의 일반항은 다음과 같다.[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를 황금비라고 치면, , 이므로 이 된다.
Remove ads
성질
요약
관점
항등식
다음과 같은 항등식이 성립하며, 카시니 항등식(영어: 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
점근 공식

수론적 성질
Remove ads
소스 코드
파이썬
피보나치 수열은 아래와 같이 함수의 재귀적 용법으로 구현할 수 있다.
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]
같이 보기
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads