2022. 12. 1. 15:56ㆍOther Maths
피보나치 수는 막 배우기 시작하는 초보 프로그래머와 뗄래야 뗄 수 없는 관계이다.
범위가 아주 작을 때는 재귀함수, 어느 정도 커질 때는 다이나믹 프로그래밍, 그리고 감당할 수 없을 정도로 커지면 분할 정복을 이용한 거듭제곱까지.
피보나치 수열에 관한 문제는 7677번 문제뿐만이 아니다. 대충 세어도 백준에만 50개가 넘는 피보나치 수열 관련 문제가 있다.
그렇게나 자주 나오는 피보나치 수열인 만큼, 단순히 N번째 피보나치 수를 계산하는 것에서 그치지 않고 피보나치 수열의 합이라거나, 제곱 합이라거나, 최대공약수라거나 이것저것 (뇌절로 읽힐 수도 있는) 바리에이션을 보여 준다.
그 중 간단하게 증명 가능한 것들을 하나씩 증명해 보자. 간단한 녀석들은 두어 줄로 끝이 나니 편하게, 편하게 보자.
우선 2086번 문제와 연관된 피보나치 수의 합부터 시작을 해 보자.
또한
다음은 1788번 문제와 연관된 음의 피보나치 수열을 살펴 보도록 하자.
따라서, 수학적 귀납법에 의해 임의의 n에 대해서 다음 식이 성립한다.
다음은 11443번 문제와 관련된 짝수 번째 피보나치 수의 합을 살피자. 다행히 이건 귀납법 없이 다음과 같은 식을 이용하여 바로 증명할 수 있다.
마찬가지로 11442번 문제와 관련된 홀수 번째 피보나치 수의 합도 귀납법 없이 빠르게 증명이 된다.
다음은 11440번 문제와 관련된 피보나치 수의 제곱의 합을 살피자. 이건 아쉽게도 귀납법을 사용한다.
따라서 수학적 귀납법에 의해서 다음 식이 임의의 n에 대해서 성립하게 된다.
다음은 도가뉴 항등식이다. 뭐가 끝도 없이 튀어나온다.
우선
그렇다면
따라서, 수학적 귀납법에 의해서 다음 식이 임의의 n, m에 대해서 성립하게 된다.
이 도가뉴 항등식을 통해서 우선
당연히
그럼 방금 증명한 도가뉴 항등식을 통해서
따라서 수학적 귀납법에 의해서
다음으로는 두 피보나치 수의 최대공약수를 구하여 보자. 이것은 11778번 문제와 무려 다이아몬드에 달하는 난이도를 가진 17372번 문제에서 요긴하게 사용된다!
유클리드 호제법은 알고 있으리라 믿는다.
우선 유클리드 호제법을 반복적으로 적용하면, 임의의 자연수 n에 대해서
인접하지 않은 두 피보나치 수의 최대공약수를 구하려면 도가뉴 항등식을 이용하면 된다.
그러면
유클리드 호제법을, 피보나치 수의 번호 수로 할 수 있다는 것이다. 이해가 안 된다고?
바로 다음과 같이 말이다.
그러니, 다음과 같은 매우 아름다운 공식이 성립하게 된다.
피보나치 수에 관한 항등식은 이것 말고도 한참이 더 있다. 아마 글로 한두 개 정도는 더 만들어질 것 같다.
시간과 지면이 부족하니, 일단 이 글은 이쯤에서 마치도록 하자.
'Other Maths' 카테고리의 다른 글
8. 쿠폰 수집가 문제와 근사하게 조화수 근사하기 (0) | 2022.12.22 |
---|---|
7. 피보나치 수에 관한 (거의) 모든 것 2 (0) | 2022.12.08 |
5. 밀러-라빈 소수판정법과 폴라드-로 소인수분해 (1) | 2022.11.30 |
4. 카탈란 수의 일반항 (0) | 2022.11.26 |
3. 벡터곱과 사원수 (0) | 2022.11.18 |