수능 수학, 코딩의 눈으로 직관 뚫기
[코딩X수학 개념 #9] 수열의 귀납적 정의와 재귀 함수 : 수능 15번 단골 '킬러 수열' 문제를 관통하는 루프 회로
안녕하세요! 수학의 $y = f(x)$ 마법 상자가 코딩의 def와 완벽히 매칭되며, 합성함수 해석의 직관을 깨웠던 지난 8화 내용 다들 기억하시죠? 함수 상자의 본질인 '값의 반환(return)'을 완벽히 이해했다면, 이제 수능 수학Ⅰ 수열 단원의 최종 보스이자 매년 수능 15번이나 준킬러 번호대에 붙박이로 출제되는 [수열의 귀납적 정의]를 정복할 차례입니다.
시험장에서 "첫째항 $a_1$이 정수이고, $a_{n+1}$은 $a_n$의 조건에 따라 다르게 정의된다..."로 시작하는 긴 문제를 보면 숨이 턱 막히죠. 일일이 손으로 역추적하다가 중간에 계산 하나가 꼬여 4점을 날려본 경험이 한 번쯤은 있을 것입니다.
하지만 함수 상자가 자기 자신을 스스로 다시 호출하며 거대한 수열을 만들어내는 코딩의 예술, 재귀 함수(Recursion)의 메커니즘을 탑재하면 이 복잡한 수열의 조건들이 흐트러짐 없는 단 하나의 정교한 알고리즘 회로로 재구성됩니다. 수능 시험장에서 지치지 않고 항을 추적하는 논리를 심어드리겠습니다.
1 수열의 점화식과 코딩의 재귀 함수는 같은 메커니즘이다
수학 교과서에서 수열의 귀납적 정의란, '첫째항의 값'과 인접한 항들의 관계식인 '점화식'을 통해 수열을 정의하는 방법입니다. 즉, $a_1$을 알면 점화식에 넣어 $a_2$를 구하고, 그 $a_2$를 다시 점화식에 밀어 넣어 $a_3$를 구하는 '꼬리에 꼬리를 무는 배달 구조'입니다.
코딩 세계에서는 이와 똑같은 구조를 재귀 함수(Recursion)라고 부릅니다. 함수 상자 내부에서 연산을 하다가 "다음 항을 계산하기 위해 나 자신을 한 번 더 실행해!" 하고 자기 자신을 호출하는 방식이죠.
🧩 점화식과 재귀 함수의 1:1 완벽 정합성
- 1. 시작점 / 탈출 조건 : 수열의 첫째항 ($a_1 = 2$) ➡️ 재귀 함수의 무한 루프를 막는
기저 조건(Base Case) - 2. 항의 관계식 : 수열의 점화식 ($a_{n+1} = 2a_n + 1$) ➡️ 내부에서 자신을 호출하는
재귀 단계(Recursive Step)
2 실전 분석: 수능 단골 '조건 분기형 점화식' 뚫어내기
실제 수능 15번 평가원 킬러 문항 구조로 변형된 다음 문제를 읽고, 상위권 학생들이 머릿속으로 어떻게 조건문과 재귀 회로를 연동하는지 눈으로 직접 확인해 보세요.
$a_{n+1} = \begin{cases} a_n - 2 & (a_n \ge 0) \\ 2a_n + 5 & (a_n < 0) \end{cases}$ 을 만족할 때, $a_6$의 값을 구하시오."
이전 항의 값이 양수냐 음수냐에 따라 갈림길이 나뉘는 수열입니다. 이를 파이썬의 재귀 함수 회로로 깐깐하게 구현해 보겠습니다.
def get_a(n): # [조건 1: 기저 조건] 수학의 첫째항(a_1 = 1)을 정의합니다. # n이 1이 되면 꼬리 물기 계산을 멈추고 1을 반환하며 탈출합니다. if n == 1: return 1 # [조건 2: 재귀 단계] 바로 직전 항인 a_(n-1)의 값을 알아오라고 자신을 다시 호출합니다. prev_a = get_a(n - 1) # [조건 3: 점화식 분기] 직전 항의 상태(양수/음수)에 따라 다르게 계산합니다. if prev_a >= 0: return prev_a - 2 else: return 2 * prev_a + 5 # 수능에서 요구한 6번째 항 a_6를 계산하여 출력합니다. print("수열의 6번째 항 a_6의 정답은:", get_a(6))
🧠 코딩적 엄밀함이 수능 점수로 직결되는 이유
① 추적의 방향성과 기준 확립 :
수능 15번 문항에서 가장 많이 하는 실수는 $a_3$에서 $a_4$로 넘어갈 때 엉뚱한 조건을 대입하거나 연산 부호를 잘못 쓰는 것입니다. 위 코드의 get_a(n-1) 구조를 보면 알 수 있듯, 컴퓨터는 무조건 '가장 최근의 상태'를 엄밀하게 확정 지은 후에야 다음 분기점(if-else)을 선택합니다. 이 '선(先)상태 확정, 후(後)조건 대입'의 사고 흐름이 정립되면 시험지 여백에 항을 나열할 때 판단의 기준이 절대 흔들리지 않습니다.
② 역추적(Backward 추적) 문항의 마스터 :
요즘 수능은 거꾸로 $a_6$을 주고 $a_1$을 구하라는 역추적 수열 문항이 대세입니다. 재귀 함수가 get_a(6)을 구하기 위해 get_a(1)까지 깊숙이 파고들어 갔다가 값이 반환되면서 순차적으로 튀어나오는 스택(Stack) 구조의 흐름을 이해한 학생들은, 역추적 문제를 만났을 때 가지치기(수형도 그리기)를 할 때 어떤 타이밍에 조건 검사를 해야 하는지 소름 돋을 정도로 명탈하게 제어해 냅니다.
🎯 9화 수능 도약을 위한 핵심 노트
1. 수능에 단골 출제되는 수열의 점화식은 자기 자신을 재호출하는 코딩의 재귀 함수(Recursion)와 메커니즘이 완벽히 같다.
2. 재귀 함수의 핵심인 기저 조건(Base Case)은 점화식을 무너뜨리지 않는 수열의 첫째항(시작점)의 역할을 한다.
3. 점화식의 조건 분기를 다루는 엄밀한 알고리즘 훈련은 수능 15번 킬러 문항인 '수열의 정방향/역방향 추적' 시 실수를 완벽히 제거한다!
다음 시간(10화) 예고:
수열의 귀납적 규칙을 정교하게 제어하는 예술을 맛보았습니다. 이로써 우리는 수학 하(下)와 수학Ⅰ의 가장 깐깐한 단원들을 한 바퀴 통과했습니다! 그렇다면 다음 10화에서는 수능 공통과목의 하이라이트이자, 수학Ⅱ의 시작점인 거대한 주제 [함수의 극한(Limit)과 연속성]을 코딩의 오차 범위(Epsilon) 제어 시스템의 시각으로 관통해 보겠습니다. 칠판 위의 그래프가 아닌, 눈앞에 살아 숨 쉬는 연속성의 실체를 확인해 보시죠. 다음 시간에 만나요!
