02. 두 번째 수업: 등차 수열의 덧셈 vs 등비 수열의 중첩
자, 이제 이 미친 숫자의 급수(Series) 나열들을 무한대($\infty$) 로 계속 포 루프(for 문 돌리기) 를 걸어 영원히 더해봅시다.
우주가 폭발하는지, 아님 얌전히 숫자가 멈추는지(수렴). 두 가지 가문을 박치기 비교합니다.
1. 덧셈 폭주기관차: 등차수열 (Arithmetic Sequence)
등차수열은 일정하게 같은 숫자를 계속 퍼 담아(+) 늘어나는 수열입니다.
$2, \mathbf{+3} \to 5, \mathbf{+3} \to 8, \mathbf{+3} \to 11 \dots$
자, 이 녀석들에게 플러스(+) 기호를 용접해 영원히 더하는 등차 급수(덧셈) 마법을 시전하겠습니다.
$2 \ + \ 5 \ + \ 8 \ + \ 11 \ + \ 14 \ + \dots \dots$ 어?
느낌이 쌔합니다. 뒤구멍으로 계속 더해갈수록, 내가 얹어줘야 할 새로운 숫자 덩치 폭탄 값어치가 $\mathbf{+100, +103, +106}$ 처럼 미친 듯이 우주급으로 커져 몸집이 불어납니다.
이딴 걸 무한번 더하면? 당연히 모니터 계산기는 $9999999\dots$ 를 넘어 $\infty$ (무한대 발산, 에러) 로 터져버립니다. 등차수열은 급수 판정에서 아예 취급도 안 합니다. “야 저건 무조건 버그 나. 백퍼 터지니까 무한대로 더하지 마.” (단 한 가지 $0, 0, 0, 0$ 공차가 $0$ 인 의미 없는 애들 빼고요).
2. 곱셈 좀비의 나락: 등비수열 (Geometric Sequence)
그럼 이번엔 일정한 숫자를 곱해서(*) 만들어 나가는 등비수열을 가져와 무한히 더해봅시다!
시작 몬스터 $hp=1$, 계속해서 곱하기 $2$ 버프! $1, \mathbf{\times 2} \to 2, \mathbf{\times 2} \to 4, \mathbf{\times 2} \to 8 \dots$
자, 이 녀석들을 또 무한히 더해 볼까요? $1 \ + \ 2 \ + \ 4 \ + \ 8 \ + \ 16 \ + \dots \dots$ 아이고! 얜 더 악질입니다. 눈덩이가 제곱, 세 제곱 기하급수적으로 폭증해서 단 몇 턴 만에 앞선 등차수열보다 수백 배 빠른 속사포 램 오버플로우로 $\infty$ 폭사해버립니다!
[기하 루트 차단] “야, 곱해 나가는 비율(공비 $r$) 이 $\mathbf{1}$ 보다 크거나 같으면, 아니면 $\mathbf{-1}$ 보다 더 작으면 그 숫자 덩치는 계속 괴물로 자라나니까 무조건 $\infty$ 폭사야!! 등비수열도 망했어!”
3. 유일한 희망: 쪼그라드는 곱셈! (공비가 $\mathbf{0.5}$ 라면?)
절망하던 파이썬 해커가 소리를 지릅니다. “잠깐! 곱하는 비율 배수(공비 $\mathbf{r}$) 가 $1$ 배수보다 크지 않으면? 만약 소수점, 즉 마이너스 1 과 플러스 1 사이의 작은 티끌 비율($\mathbf{-1 < r < 1}$) 이라면 우주가 폭발하지 않는다!”
시작 몬스터 $hp=1$, 계속해서 곱하기 $1/2$ (반갈죽 너프)! $1, \quad \frac{1}{2}, \quad \frac{1}{4}, \quad \frac{1}{8}, \quad \frac{1}{16} \dots$
자! 이 작아지는 좀비 먼지들을 무한히 더해 볼까요? $1 \ + \ 0.5 \ + \ 0.25 \ + \ 0.125 \ + \ 0.0625 \ + \dots \dots$
아무리 억만 년 동안 더해도, 새로 얹어주는 숫자 쓰레기 쪼가리가 너무너무 미세하고 하찮은 분수 나부랭이라 차마 뒷자리 숫자를 뒤엎어 폭파시키지 못합니다! 이 미친 $1/2$ 반갈죽 먼지들의 무한 합체 루프문은 놀랍게도 $\infty$ 우주 폭발이 아닌, ”$\mathbf{2.0}$ 이라는 유리천장 단단한 숫자 바닥” 에 쾅! 부딪혀 정지해(수렴, Converge) 에러 없이 록다운 됩니다!
이 위대한 “얼어붙는 무한 루프” 가 바로 3장의 그리스 제논 할아버지를 뒷목 잡게 한 철학적 역설의 해결책 실마리였습니다!