세특 탐구 주제 시리즈 #7 · 고등학교 수학으로 생활 속 궁금증을 직접 계산해 보는 시리즈입니다. 이번 주제는 확률과 통계의 이항분포, 정규분포, 모비율 추정입니다.

선거철 뉴스에는 늘 같은 문장이 붙습니다. "이번 조사는 전국 만 18세 이상 1,000명을 대상으로 했으며, 95% 신뢰수준에 표본오차는 ±3.1%p입니다." 4,400만 명이 넘는 유권자 가운데 겨우 1,000명에게 물었는데 어떻게 오차가 3.1%p밖에 안 된다고 자신할까요? 그리고 3.1이라는 숫자는 어디서 나왔을까요? 통계학이나 언론·미디어 쪽으로 진로를 생각하는 학생이라면 앞으로 수없이 보게 될 숫자이니, 이번 글에서 직접 계산해 보겠습니다.

주요단어: 여론조사, 오차범위, 표본오차, 신뢰수준, 표본비율, 모비율 추정, 이항분포, 정규분포, 확률과 통계, 고등학교, 주제탐구

① 먼저 알아 둘 것, 전체가 아니라 일부에게 묻는다

알고 싶은 집단 전체를 모집단, 실제로 물어본 사람들을 표본이라고 합니다. 유권자 4,400만 명 모두에게 묻는 일은 선거 그 자체라서, 여론조사는 1,000명 정도의 표본만 뽑아 묻습니다.

이때 표본은 무작위로 뽑아야 합니다. 특정 지역이나 특정 나이대만 골라 물으면 아무리 많이 물어도 전체를 대표하지 못합니다. 그래서 실제 조사에서는 전화번호를 무작위로 만들어 걸고, 지역·성별·나이 비율을 인구 구성에 맞춥니다.

문제는 무작위로 뽑으면 뽑을 때마다 결과가 조금씩 달라진다는 것입니다. 오차범위는 이 흔들림이 얼마나 큰지를 숫자로 나타낸 것입니다.

② 10명, 100명, 1,000명에게 물어보면

어떤 정책에 실제로 찬성하는 사람이 정확히 50%라고 해 봅시다. 여기서 10명을 무작위로 뽑아 물으면 찬성하는 사람 수 X는 이항분포 B(10, 0.5)를 따릅니다. 찬성자가 정확히 5명일 확률을 계산하면 이렇습니다.

P(X = 5) = 10C5 × 0.55 × 0.55 = 252 × 1/1024 = 252/1024 ≈ 0.246

정답인 50%가 나올 확률이 4분의 1도 안 됩니다. 반대로 찬성자가 3명 이하, 즉 "찬성 30% 이하"라는 엉뚱한 결과가 나올 확률도 계산해 볼까요?

찬성자 수계산확률
0명10C0/1024 = 1/10240.0010
1명10C1/1024 = 10/10240.0098
2명10C2/1024 = 45/10240.0439
3명10C3/1024 = 120/10240.1172
합계176/10240.1719

10명에게 물으면 6번에 1번꼴로 "찬성 30% 이하"가 나옵니다. 이런 조사는 믿기 어렵죠. 사람 수를 늘리면 어떻게 될지 100명, 1,000명일 때도 같은 방법으로 모든 경우의 확률을 계산해 그래프로 그렸습니다.

10명일 때는 막대가 0%부터 100%까지 넓게 퍼져 있지만, 1,000명이 되면 거의 모든 결과가 45~55% 사이에 몰립니다. 많이 물을수록 결과가 실제 값 근처로 모인다는 것을 눈으로 확인할 수 있습니다. 이제 이 "퍼진 정도"를 숫자로 계산해 보겠습니다.

③ 표본비율은 얼마나 흩어질까

교과서에서 배운 이항분포의 평균과 표준편차 공식을 그대로 씁니다. X가 B(n, p)를 따르면

E(X) = np,    σ(X) = √(np(1 − p))

1,000명에게 묻고 실제 찬성률이 0.5라면 한 단계씩 넣어 봅니다.

  • 평균: 1000 × 0.5 = 500명
  • 분산: 1000 × 0.5 × 0.5 = 250
  • 표준편차: √250 ≈ 15.81명

뉴스에 나오는 것은 사람 수가 아니라 비율입니다. 찬성 비율 p̂ = X/1000이므로 평균과 표준편차를 모두 1000으로 나눕니다.

  • 표본비율의 평균: 500 ÷ 1000 = 0.5 (실제 찬성률과 같음)
  • 표본비율의 표준편차: 15.81 ÷ 1000 ≈ 0.01581, 즉 약 1.58%p

이 과정을 문자로 정리하면 표본비율의 표준편차는 √(p(1 − p)/n)이 됩니다. 넣어서 다시 확인해 보면 √(0.5 × 0.5 ÷ 1000) = √0.00025 ≈ 0.01581로 같습니다. 여기서 p에 50을 넣는 실수가 많은데, 비율이므로 0.5를 넣어야 합니다.

④ 3.1의 정체는 1.96 × 1.58

n이 충분히 크면 이항분포는 정규분포에 가까워집니다. 그림1의 1,000명 그래프가 종 모양인 것도 그래서입니다. 그러면 표준정규분포표를 쓸 수 있습니다. 표에서 P(0 ≤ Z ≤ 1.96) = 0.4750을 찾으면

P(−1.96 ≤ Z ≤ 1.96) = 0.4750 × 2 = 0.95

즉 표본비율은 95%의 확률로 "실제 비율 ± 1.96 × 표준편차" 안에 들어옵니다. 앞에서 구한 표준편차를 넣으면

1.96 × 0.01581 = 0.0310 → ±3.1%p

뉴스의 "95% 신뢰수준에 ±3.1%p"가 정확히 이 계산입니다. 그런데 실제 찬성률을 모르는데 왜 0.5를 넣었을까요? p(1 − p)는 p가 0.5일 때 가장 커서 오차범위도 가장 크게 나오기 때문입니다.

pp(1 − p)1,000명일 때 오차범위
0.10.091.96 × √(0.09/1000) ≈ ±1.9%p
0.30.211.96 × √(0.21/1000) ≈ ±2.8%p
0.420.24361.96 × √(0.2436/1000) ≈ ±3.06%p
0.50.251.96 × √(0.25/1000) ≈ ±3.10%p

그래서 조사 기관은 "가장 나쁜 경우에도 이 정도"라는 뜻으로 0.5를 넣은 값을 발표합니다. 실제 지지율이 42%로 나온 후보라면 오차범위는 ±3.06%p로 조금 더 좁습니다.

⑤ 95%는 무슨 뜻일까

실제 지지율이 42%인 후보가 있다고 정해 놓고, 컴퓨터로 1,000명 여론조사를 100번 했습니다. 조사마다 나온 지지율에 ±오차범위를 붙여 구간을 그리면 아래와 같습니다.

100개 구간 가운데 93개가 진짜 값 42%를 지나가고, 주황색 7개는 비켜 갔습니다. 이론대로라면 95개 정도가 맞아야 하는데, 100번만 해 보면 이렇게 93이나 97처럼 조금씩 다르게 나옵니다. 시행 횟수를 늘리면 95%에 점점 가까워집니다.

95% 신뢰수준은 "이런 방법으로 구간을 만들면 100번 중 95번 정도는 진짜 값을 포함한다"는 뜻입니다. 우리가 뉴스에서 보는 조사는 이 100개 중 하나이고, 그게 주황색인지 파란색인지는 아무도 모릅니다. 여론조사 결과를 하나의 정답으로 받아들이면 안 되는 이유가 여기 있습니다.

⑥ 몇 명에게 물어야 할까

오차를 줄이려면 더 많이 물으면 됩니다. 그런데 얼마나 많이 물어야 할까요? n을 바꿔 가며 1.96 × √(0.25/n)을 계산했습니다.

조사 인원계산오차범위
30명 (한 반)1.96 × √(0.25/30) = 1.96 × 0.0913±17.9%p
500명1.96 × √(0.25/500) = 1.96 × 0.0224±4.4%p
1,000명1.96 × √(0.25/1000) = 1.96 × 0.0158±3.1%p
2,000명1.96 × √(0.25/2000) = 1.96 × 0.0112±2.2%p
4,000명1.96 × √(0.25/4000) = 1.96 × 0.0079±1.5%p

1,000명에서 4,000명으로 4배를 늘려야 오차범위가 3.1에서 1.5로 절반이 됩니다. n이 근호 안에 있어서 √4 = 2배만큼만 줄어드는 것이죠. 조사 비용은 사람 수에 비례해 늘어나니, 대부분의 여론조사가 1,000명 안팎에서 멈추는 데는 이런 계산이 깔려 있습니다.

반 친구 30명에게 물은 설문으로 "우리 학교 학생의 60%가 찬성"이라고 쓰면 실제로는 42%에서 78% 사이 어디쯤이라는 말과 같습니다. 학교 설문으로 탐구할 때 꼭 함께 적어 두면 좋은 숫자입니다.

그렇다면 모집단의 크기는 상관이 없을까요? 공식에 모집단 크기가 들어 있지 않습니다. 모집단이 표본보다 충분히 크면 서울시장 선거든 대통령 선거든 1,000명에게 물었을 때의 오차범위는 거의 같습니다. 국은 맛을 볼 때 냄비 크기와 상관없이 잘 저어서 한 숟가락만 뜨면 되는 것과 비슷합니다.

⑦ 뉴스 읽기, "오차범위 내 접전"

1,000명 조사에서 후보 A가 42%, 후보 B가 38%라면 A가 이기고 있는 걸까요? 두 후보에 각각 ±3.1%p를 붙여 보면 답이 보입니다.

  • 조사 ①: A는 38.9~45.1%, B는 34.9~41.1%입니다. 38.9~41.1% 구간이 겹치므로 실제로는 B가 앞설 가능성도 있습니다. 이럴 때 뉴스는 "오차범위 내 접전"이라고 씁니다.
  • 조사 ②: A는 42.9~49.1%, B는 30.9~37.1%입니다. 구간이 전혀 겹치지 않으니 A가 앞선다고 말할 수 있습니다.

그러니 지지율 차이가 4%p라는 숫자만 보고 "A 우세"라는 제목을 단 기사는 조심해서 읽어야 합니다. 조사 인원이 몇 명인지, 오차범위가 얼마인지 기사 끝을 확인하는 습관이 필요합니다.

⑧ 이 주제로 탐구보고서를 쓴다면

  1. 탐구 질문과 가설: "1,000명만 조사한 여론조사를 믿어도 될까?" → 가설: 무작위로 뽑으면 1,000명만으로도 95%의 확률로 실제 값과 3.1%p 이내로 맞는다.
  2. 자료 수집과 계산: 학급 또는 학년 전체에 "급식 만족 여부" 같은 설문을 하고, 그중 10명·30명·50명을 무작위로 여러 번 뽑아 표본비율이 어떻게 흩어지는지 기록한다. 이항분포의 표준편차 √(p(1 − p)/n)으로 계산한 값과 비교한다.
  3. 그래프: 표본 크기별 표본비율의 히스토그램(그림1처럼)과, 표본마다 만든 구간을 세로로 늘어놓은 그래프(그림3처럼)를 그린다. 엑셀이나 파이썬으로 100번 반복하면 실제로 몇 개가 전체 비율을 포함하는지 셀 수 있다.
  4. 결론과 한계: "30명 표본의 오차범위는 ±17.9%p로, 학급 설문만으로 학교 전체를 말하기 어렵다"처럼 수치로 결론을 쓴다. 한계로는 응답을 거절한 사람이 많으면 무작위가 깨진다는 점, 두 후보의 차이에 대한 오차범위는 각자의 오차범위와 따로 계산해야 한다는 점(42% 대 38%라면 차이 4%p의 오차범위는 약 ±5.5%p)을 적는다.

더 나아가 보고 싶다면 이런 질문도 좋습니다.

  • 신뢰수준을 99%로 높이면 1.96 대신 2.58을 쓴다. 같은 1,000명이면 오차범위는 얼마가 될까?
  • 오차범위를 ±1%p로 줄이려면 몇 명에게 물어야 할까? (1.96 × √(0.25/n) = 0.01을 n에 대해 풀어 보기)
  • 지난 선거의 마지막 여론조사와 실제 득표율을 비교하면 오차범위 안에 들어왔을까?

함께 읽으면 좋은 시리즈 글

다음 글 예고: 로또 1등 확률은 정말 814만분의 1일까요? 1,000원짜리 로또 한 장의 기댓값은 얼마일까요? 다음 시리즈에서는 조합과 기댓값으로 로또를 끝까지 계산해 봅니다.

세특 탐구 주제 시리즈는 매주 새 글이 올라옵니다. 블로그를 구독해 두시면 새 탐구 주제를 놓치지 않고 받아 보실 수 있습니다.

세특 탐구 주제 시리즈 #8 · 고등학교 수학으로 생활 속 궁금증을 직접 계산해 보는 시리즈입니다. 이번 주제는 확률과 통계의 조합, 확률, 이산확률변수의 기댓값입니다.

로또 1등 확률이 814만분의 1이라는 말은 많이 들어 봤을 겁니다. 그런데 그 숫자를 직접 계산해 본 적이 있나요? 그리고 1,000원을 내고 산 로또 한 장은 평균적으로 얼마의 값어치가 있을까요? 경품 이벤트의 당첨 확률과 비용을 정하는 마케터도, 자료를 분석하는 통계 전문가도 이런 "확률 × 금액"의 계산을 매일 합니다. 이번 글에서는 로또 한 장을 처음부터 끝까지 숫자로 따져 보겠습니다. (복권은 만 19세 이상만 살 수 있습니다. 이 글은 계산만 합니다.)

주요단어: 로또 확률, 로또 기댓값, 조합, 복권 당첨금, 확률변수, 기댓값, 마케팅, 확률과 통계, 고등학교, 주제탐구

① 먼저 알아 둘 것, 로또의 규칙

로또 6/45는 1부터 45까지의 수 중에서 6개를 고르는 복권입니다. 추첨에서는 당첨 번호 6개와 보너스 번호 1개를 뽑고, 내가 고른 6개가 몇 개 맞았는지로 등수가 정해집니다.

등수조건당첨금
1등6개 모두 일치당첨금 총액에서 4·5등 몫을 뺀 나머지를
75% : 12.5% : 12.5%로 나눔
2등5개 일치 + 보너스 번호 일치
3등5개 일치
4등4개 일치50,000원 (고정)
5등3개 일치5,000원 (고정)

판매한 돈 가운데 당첨금으로 돌아가는 비율은 50%로 정해져 있습니다(동행복권 안내 기준). 나머지는 복권기금, 판매점 수수료, 운영비로 쓰입니다. 이 규칙 두 줄이 뒤에서 기댓값을 계산할 때 그대로 쓰입니다.

② 작은 로또로 먼저 연습하기

45개 중 6개는 너무 크니, 1부터 5까지의 수 중 2개를 고르는 "미니 로또"부터 해 봅시다. 고를 수 있는 경우를 모두 적으면 이렇습니다.

{1,2} {1,3} {1,4} {1,5} {2,3} {2,4} {2,5} {3,4} {3,5} {4,5}

모두 10가지이고, 이것은 5C2 = (5 × 4) ÷ (2 × 1) = 10과 같습니다. 당첨 번호가 {1,2}라고 하면 내가 고른 2개 중 몇 개가 맞는지에 따라 이렇게 나뉩니다.

  • 2개 다 맞음: 당첨 번호 2개 중 2개를 고르는 경우 2C2 = 1가지 ({1,2})
  • 1개만 맞음: 당첨 번호 중 1개, 나머지 3개 중 1개 → 2C1 × 3C1 = 2 × 3 = 6가지
  • 하나도 안 맞음: 나머지 3개 중 2개 → 3C2 = 3가지

1 + 6 + 3 = 10으로 전체와 딱 맞습니다. "당첨 번호에서 몇 개, 나머지 번호에서 몇 개를 고르는가"로 나눠 곱하는 이 방법을 진짜 로또에도 그대로 씁니다.

③ 진짜 로또의 경우의 수 8,145,060

45개 중 6개를 고르는 경우의 수는 45C6입니다. 분자를 차례로 곱해 보겠습니다.

  • 45 × 44 = 1,980
  • 1,980 × 43 = 85,140
  • 85,140 × 42 = 3,575,880
  • 3,575,880 × 41 = 146,611,080
  • 146,611,080 × 40 = 5,864,443,200

고른 6개의 순서는 상관없으므로 6! = 720으로 나눕니다.

5,864,443,200 ÷ 720 = 8,145,060

1등 확률은 1/8,145,060입니다. 매주 한 게임씩 산다면 평균적으로 8,145,060주, 1년을 52주로 계산하면 약 156,636년을 기다려야 1등이 한 번 나옵니다. 지금부터 사도 구석기 시대부터 샀어야 할 시간이 걸리는 셈이죠.

④ 2등부터 5등까지 직접 세기

②의 방법대로 "당첨 번호 6개에서 몇 개, 나머지 39개에서 몇 개"로 나눕니다. 2등과 3등은 보너스 번호 때문에 조금 조심해야 합니다.

등수경우의 수 계산경우의 수약 몇 게임에 1번
1등6C6 = 118,145,060
2등6C5 × 1 (보너스 번호) = 6 × 161,357,510
3등6C5 × 38 (보너스를 뺀 38개 중 1개)22835,724
4등6C4 × 39C2 = 15 × 74111,115733
5등6C3 × 39C3 = 20 × 9,139182,78045

중간 계산도 확인해 둡니다. 39C2 = (39 × 38) ÷ 2 = 741이고, 39C3 = (39 × 38 × 37) ÷ 6 = 54,834 ÷ 6 = 9,139입니다. 3등에서 38을 곱하는 이유는, 남은 한 자리에 보너스 번호가 오면 2등이 되기 때문입니다. 여기서 많이들 39를 곱하는 실수를 합니다.

당첨되는 경우를 모두 더하면 1 + 6 + 228 + 11,115 + 182,780 = 194,130가지입니다. 전체의 194,130 ÷ 8,145,060 ≈ 2.38%, 약 42게임에 한 번은 5등 이상이 나옵니다. 나머지 7,950,930가지(97.6%)는 꽝입니다.

세로축이 한 칸 올라갈 때마다 10배씩 커지는 로그 눈금입니다. 보통 눈금으로 그리면 1등부터 3등까지는 막대가 보이지도 않습니다.

⑤ 1,000원짜리 로또 한 장의 기댓값

로또 한 장으로 받는 돈을 확률변수 X라고 하면, 기댓값은 "각 등수의 당첨금 × 그 등수의 확률"을 모두 더한 값입니다. 금액이 고정된 4등과 5등부터 계산합니다.

  • 4등: 50,000 × 11,115/8,145,060 ≈ 68.23원
  • 5등: 5,000 × 182,780/8,145,060 ≈ 112.20원
  • 4·5등 합: 180.43원

①에서 당첨금 총액은 판매액의 50%라고 했으니, 한 게임당 당첨금으로 돌아가는 돈은 평균 500원입니다. 여기서 4·5등 몫을 빼면 1~3등 몫이 나옵니다.

  • 1~3등 몫: 500 − 180.43 = 319.57원
  • 1등: 319.57 × 0.75 ≈ 239.67원
  • 2등: 319.57 × 0.125 ≈ 39.95원
  • 3등: 319.57 × 0.125 ≈ 39.95원

여기서 재미있는 계산이 하나 나옵니다. 1등 몫이 한 게임당 239.67원이고 1등 확률이 1/8,145,060이므로, 1등 한 사람이 받는 돈의 기댓값은

239.67 × 8,145,060 ≈ 19억 5,216만 원

입니다. 판매량이 늘면 1등 몫도 늘지만 1등 당첨자 수도 같은 비율로 늘기 때문에, 판매량과 상관없이 1인당 약 19.5억 원 근처가 됩니다. 예를 들어 한 회차에 1억 1,500만 게임이 팔렸다면 1등은 평균 1억 1,500만 ÷ 8,145,060 ≈ 14.1명 나옵니다. 최근 회차 기사를 찾아보면 1등이 대체로 12~16명, 1인당 18억~26억 원 정도로 이 계산과 잘 맞습니다.

같은 방법으로 2등 1인 당첨금은 39.95 × 8,145,060 ÷ 6 ≈ 5,423만 원, 3등은 39.95 × 8,145,060 ÷ 228 ≈ 143만 원입니다.

⑥ 세금까지 빼면

복권 당첨금은 200만 원을 넘으면 세금을 냅니다. 3억 원까지는 22%, 3억 원을 넘는 부분은 33%입니다. 1등 19억 5,216만 원으로 직접 계산해 봅시다.

  • 3억 원까지의 세금: 3억 × 0.22 = 6,600만 원
  • 3억 원을 넘는 부분: 19억 5,216만 − 3억 = 16억 5,216만 원, 세금은 × 0.33 ≈ 5억 4,521만 원
  • 세금 합계: 약 6억 1,121만 원, 실제로 받는 돈은 약 13억 4,095만 원

2등 5,423만 원은 22%를 떼면 약 4,230만 원이 되고, 3등 143만 원과 4·5등은 200만 원 이하라 세금이 없습니다. 세금을 뺀 기댓값을 다시 더하면 이렇습니다.

등수세후 당첨금 × 확률기댓값
1등13억 4,095만 × 1/8,145,060164.63원
2등4,230만 × 6/8,145,06031.16원
3등143만 × 228/8,145,06039.95원
4등5만 × 11,115/8,145,06068.23원
5등5,000 × 182,780/8,145,060112.20원
합계약 416원

1,000원을 내고 평균 416원을 돌려받는 셈입니다. 한 게임을 살 때마다 평균 584원을 잃는다는 뜻이기도 합니다.

잃은 584원은 어디로 갈까?
584원을 나눠 보면 이렇습니다. 판매액의 43.6%인 436원은 복권기금, 54원은 판매점 수수료, 10원은 운영비로 갑니다(동행복권 안내 기준). 나머지 84원은 1·2등 당첨자가 낸 세금입니다. 436 + 54 + 10 + 84 = 584원으로 딱 맞습니다.
이 가운데 복권기금은 정부 복권위원회가 관리하며 우리 사회로 돌아옵니다. 임대주택 건설 같은 저소득층 주거 지원, 장애인과 소외계층 복지, 저소득층 학생을 대학까지 지원하는 꿈사다리 장학금, 기초생활수급자가 공연·여행·체육활동에 쓰는 문화누리카드 같은 사업에 쓰입니다. 2027년에 이런 공익사업에 쓰일 복권 재원은 약 3조 4,000억 원으로 전망됩니다.
산 사람 한 명에게는 손해인 기댓값이지만, 그 차이의 상당 부분은 사회 전체로 돌아가는 셈입니다. 그래서 복권을 "스스로 원해서 내는 기부금"으로 보는 시각도 있습니다.

⑦ 기댓값대로 잃지도 않는다

기댓값이 416원(세전 500원)이라고 해서 실제로 매번 그만큼 돌려받는 것은 아닙니다. 매주 5게임씩 10년 동안, 모두 2,600게임(260만 원어치)을 산 사람 5명을 컴퓨터로 시뮬레이션했습니다.

세전 기댓값대로라면 2,600 × 500 = 130만 원을 잃어야 하는데, 5명 모두 205만~220만 원을 잃었습니다. 계단처럼 튀어 오른 곳은 4등(5만 원)에 당첨된 순간입니다. 왜 기댓값보다 더 많이 잃었을까요?

기댓값 500원 가운데 320원은 1~3등에서 나옵니다. 그런데 10년 동안 1~3등에 한 번이라도 걸릴 확률은 2,600 × (235/8,145,060) ≈ 7.5%에 불과합니다. 대부분의 사람은 4·5등 몫 180원만 받으니 실제로는 1게임당 약 820원을 잃게 됩니다. 기댓값은 "모든 사람의 평균"이고, 그 평균은 아주 드문 당첨자 몇 명이 끌어올린 값입니다.

50년 동안 매주 5게임(13,000게임)을 사도 1등에 한 번이라도 될 확률은 1 − (1 − 1/8,145,060)13000 ≈ 0.16%입니다. 그동안 기댓값만으로도 650만 원을 잃습니다.

하나 덧붙이면, 1, 2, 3, 4, 5, 6처럼 "말도 안 되는" 번호도 1등 확률은 다른 조합과 똑같이 1/8,145,060입니다. 다만 이런 번호를 고르는 사람이 의외로 많아서, 당첨되면 여러 명이 나눠 가져 1인당 금액이 줄어듭니다. 확률은 같아도 기댓값은 달라질 수 있다는 점이 흥미로운 탐구거리입니다.

⑧ 이 주제로 탐구보고서를 쓴다면

  1. 탐구 질문과 가설: "1,000원짜리 로또 한 장의 수학적 가치는 얼마일까?" → 가설: 당첨금 지급률이 50%이므로 기댓값은 500원이고, 세금을 빼면 더 낮다.
  2. 자료 수집과 계산: 조합으로 등수별 경우의 수를 구하고, 동행복권 홈페이지에서 최근 회차의 판매액과 등수별 당첨자 수·당첨금을 모은다. 실제 자료로 회차마다 기댓값을 계산해 500원과 비교한다.
  3. 그래프: 등수별 경우의 수(그림1), 1,000원의 분배(그림2), 엑셀의 RAND 함수나 파이썬으로 만든 누적 손익 시뮬레이션(그림3)을 그린다.
  4. 결론과 한계: "세후 기댓값은 약 416원이고, 1~3등에 걸리지 않는 대부분의 사람은 1게임당 약 820원을 잃는다"처럼 수치로 결론을 쓴다. 한계로는 1~3등 당첨금이 회차마다 달라 평균값을 썼다는 점, 이월이나 많은 사람이 고르는 번호 같은 요인을 넣지 않았다는 점을 적는다.

더 나아가 보고 싶다면 이런 질문도 좋습니다.

  • 연금복권이나 즉석복권의 기댓값은 로또보다 높을까 낮을까?
  • 복권위원회 자료에서 복권기금이 어떤 사업에 얼마씩 쓰였는지 찾아 그래프로 그리고, 복권이 사회에 주는 이익과 손해를 함께 따져 보기.
  • 편의점 경품 이벤트를 직접 설계해 보기. 1등 확률과 상품 가격을 정하고, 회사가 손님 한 명당 쓰는 기대 비용을 계산해 보기.
  • 번호 45개가 지금까지 나온 횟수를 세면 정말 고르게 나왔을까? (카이제곱 검정은 대학 통계지만, 막대그래프로 비교하는 것만으로도 좋은 탐구가 된다)

함께 읽으면 좋은 시리즈 글

다음 글 예고: 책 뒤에 있는 13자리 ISBN 바코드는 숫자 하나가 틀리면 어떻게 알아챌까요? 다음 시리즈에서는 정수의 나머지로 바코드의 검증 숫자를 직접 계산해 봅니다.

세특 탐구 주제 시리즈는 매주 새 글이 올라옵니다. 블로그를 구독해 두시면 새 탐구 주제를 놓치지 않고 받아 보실 수 있습니다.

세특 탐구 주제 시리즈 #6 · 고등학교 수학으로 생활 속 궁금증을 직접 계산해 보는 시리즈입니다. 이번 주제는 대수의 수열의 귀납적 정의입니다.

토끼 한 쌍이 해마다 새끼를 낳아 수가 1.5배씩 늘어난다면, 몇십 년 뒤에는 지구가 토끼로 덮이겠죠. 하지만 실제로는 그런 일이 일어나지 않습니다. 먹이와 공간이 한정되어 있기 때문입니다. 이번 글에서는 연못에 사는 붕어의 수를 한 해씩 직접 계산하면서, 생물의 수가 늘다가 멈추는 로지스틱 성장을 고등학교 수열로 설명해 보겠습니다.

주요단어: 로지스틱 성장, 환경수용력, 개체수 증가, 수열의 귀납적 정의, 등비수열, S자 곡선, 생활 속 수학, 대수, 고등학교, 주제탐구

① 전제조건: 자원은 한정되어 있다

출발점은 단순합니다. 먹이와 공간에는 한계가 있습니다. 한 연못이 먹여 살릴 수 있는 붕어의 수에는 최대치가 있고, 이를 환경수용력이라고 합니다. 이 글에서는 다음 조건으로 계산합니다.

  • 처음 붕어 수: 100마리
  • 환경수용력: 1,000마리
  • 자원이 넉넉할 때의 1년 성장률: 50% (r = 0.5)

② 시작하기 전에: 수열의 귀납적 정의

이 글의 계산은 "앞의 값으로 다음 값을 정하는" 방식으로 진행됩니다. 고등학교 대수에서 배우는 수열의 귀납적 정의를 간단한 예로 먼저 정리해 두겠습니다.

수열의 귀납적 정의: 다음 값을 만드는 규칙

수열을 "첫째항"과 "앞의 항으로 다음 항을 만드는 규칙"으로 정하는 방법입니다.

a1 = 1,   an+1 = an + 2

첫째항이 1이고, 다음 항은 앞의 항에 2를 더해서 만듭니다. 그러면 a2 = 1 + 2 = 3, a3 = 3 + 2 = 5, a4 = 5 + 2 = 7 … 처럼 홀수 1, 3, 5, 7, … 이 차례로 나옵니다. 이 글의 붕어 수 계산도 바로 이 방식입니다.

정리하면 귀납적 정의는 "첫째항 + 다음 항을 만드는 규칙"만 있으면 수열 전체를 하나씩 차례로 만들어 낼 수 있는 방법입니다. 이 글에서는 이 방법으로 붕어 수를 한 해씩 계산합니다.

③ 자원이 무한하다면: 등비수열

먼저 전제조건을 무시하고, 붕어가 해마다 50%씩 늘어난다고 해 봅시다. 해마다 1.5를 곱하므로 공비 1.5인 등비수열입니다.

1년 뒤: 100 × 1.5 = 150마리
2년 뒤: 150 × 1.5 = 225마리
3년 뒤: 225 × 1.5 = 337.5마리
n년 뒤: 100 × 1.5n 마리

이대로라면 6년 뒤 약 1,139마리로 환경수용력을 넘고, 10년 뒤에는 100 × 1.510 ≈ 5,767마리가 됩니다. 1,000마리밖에 살 수 없는 연못에서는 불가능한 숫자입니다.

④ 빈자리만큼만 늘어난다: 로지스틱 성장의 식

현실에서는 연못이 붐빌수록 먹이가 부족해 덜 늘어납니다. 이를 "빈자리 비율"로 나타내 봅시다.

  • 붕어가 100마리면 1,000마리 중 100마리가 찼으므로 빈자리 비율은 1 − 100/1000 = 0.9
  • 붕어가 500마리면 빈자리 비율은 1 − 500/1000 = 0.5
  • 붕어가 1,000마리면 빈자리 비율은 0, 더 늘어날 수 없음

그래서 한 해 동안 늘어나는 수를 "원래 성장 × 빈자리 비율"로 정합니다. n년 뒤 붕어 수를 an이라 하면

a0 = 100,   an+1 = an + 0.5 × an × (1 − an ÷ 1000)

처음 보면 복잡해 보이지만, 식을 세 조각으로 나누어 읽으면 어렵지 않습니다.

식의 조각 뜻 붕어 100마리일 때
an 올해 붕어 수 100
0.5 × an 자원이 넉넉할 때 늘어날 수 (50%) 0.5 × 100 = 50
(1 − an ÷ 1000) 빈자리 비율 (연못이 얼마나 비어 있는가) 1 − 0.1 = 0.9
0.5 × an × (1 − an ÷ 1000) 실제로 늘어나는 수 50 × 0.9 = 45
an+1 내년 붕어 수 = 올해 + 늘어난 수 100 + 45 = 145

즉 이 식은 "내년 수 = 올해 수 + (넉넉할 때 늘어날 수) × (빈자리 비율)"을 기호로 쓴 것입니다. 빈자리 비율이 일종의 "브레이크" 역할을 합니다.

이 브레이크가 어떻게 작동하는지 몇 가지 경우로 확인해 봅시다.

  • 브레이크가 없다면: 빈자리 비율을 빼면 an+1 = an + 0.5 × an = 1.5 × an 이 됩니다. 이것이 바로 ③의 공비 1.5인 등비수열입니다. 로지스틱 성장은 등비수열에 브레이크를 단 것이라고 할 수 있습니다.
  • 붕어가 적을 때 (100마리): 빈자리 비율 0.9로 브레이크가 거의 걸리지 않아, 45마리가 늘어납니다. 브레이크가 없을 때(50마리)와 거의 같습니다.
  • 붕어가 꽉 찼을 때 (1,000마리): 빈자리 비율이 1 − 1000 ÷ 1000 = 0 이므로 늘어나는 수는 0.5 × 1000 × 0 = 0. 내년에도 1,000마리 그대로입니다.
  • 붕어가 너무 많을 때 (1,100마리): 빈자리 비율이 1 − 1100 ÷ 1000 = −0.1 로 음수가 됩니다. 늘어나는 수는 0.5 × 1100 × (−0.1) = −55 이므로 내년에는 1,100 − 55 = 1,045마리로 줄어듭니다. 먹이가 모자라 일부가 살아남지 못하는 상황을 식이 스스로 표현합니다.

이 글의 숫자 0.5와 1000을 일반적인 문자로 바꾸면, 성장률 r과 환경수용력 K에 대한 식이 됩니다.

an+1 = an + r × an × (1 − an ÷ K)

이렇게 다음 해의 값을 이전 해의 값으로 정하는 방식이 바로 고등학교 대수에서 배우는 수열의 귀납적 정의입니다. 첫째항 a0 = 100만 주어지면 a1, a2, a3, … 을 차례로 모두 구할 수 있습니다.

⑤ 한 해씩 직접 계산하기

  1. 1년 뒤: 늘어나는 수 = 0.5 × 100 × (1 − 0.1) = 0.5 × 100 × 0.9 = 45 → a1 = 100 + 45 = 145마리
  2. 2년 뒤: 빈자리 비율 1 − 0.145 = 0.855, 늘어나는 수 = 0.5 × 145 × 0.855 ≈ 62.0 → a2 ≈ 207.0마리
  3. 3년 뒤: 빈자리 비율 1 − 0.207 = 0.793, 늘어나는 수 = 0.5 × 207.0 × 0.793 ≈ 82.1 → a3 ≈ 289.1마리

같은 계산을 이어 가면 다음과 같습니다. (소수 첫째 자리까지)

지난 해 등비수열(1.5배) 로지스틱 성장 그해 늘어난 수
0 100 100 -
1 150 145.0 45.0
2 225 207.0 62.0
3 337.5 289.1 82.1
4 506.2 391.8 102.8
5 759.4 511.0 119.1
6 1,139.1 635.9 124.9
7 1,708.6 751.7 115.8
8 2,562.9 845.0 93.3
10 5,766.5 951.2 40.8
12 12,974.6 986.9 12.5

처음 2~3년은 두 수열이 거의 비슷합니다. 붕어가 적을 때는 빈자리 비율이 1에 가까워 사실상 1.5배씩 늘기 때문입니다. 하지만 붕어가 많아질수록 차이가 벌어지고, 로지스틱 성장은 1,000마리에 점점 가까이 다가가며 거의 멈춥니다. 그래프가 영어 S자처럼 생겨서 S자 곡선이라고도 부릅니다.

⑥ 언제 가장 많이 늘어날까? 정답은 절반인 500마리

표의 "그해 늘어난 수"를 보면 45 → 62 → 82 → 103 → 119 → 125 → 116 → 93 … 으로, 늘어난 수가 커졌다가 다시 작아집니다. 가장 많이 늘어난 해는 시작 수가 약 511마리였던 해입니다.

왜 그럴까요? 붕어가 x마리일 때 한 해에 늘어나는 수는 0.5 × x × (1 − x ÷ 1000) 입니다. 몇 가지 값을 넣어 봅시다.

붕어 수 x 계산 한 해에 늘어나는 수
100 0.5 × 100 × 0.9 45
300 0.5 × 300 × 0.7 105
500 0.5 × 500 × 0.5 125
700 0.5 × 700 × 0.3 105
900 0.5 × 900 × 0.1 45

100과 900, 300과 700에서 늘어나는 수가 똑같습니다. 이 값은 x에 대한 이차식 0.5x − 0.0005x2 이고, 그래프가 x = 500을 축으로 하는 위로 볼록한 포물선이기 때문입니다. 붕어가 적으면 새끼를 낳을 어미가 적고, 너무 많으면 빈자리가 적어서 덜 늘어납니다. 그 균형이 가장 좋은 지점이 환경수용력의 절반입니다.

이 사실은 실제로도 쓰입니다. 물고기를 잡는 어업에서는 물고기 수를 환경수용력의 절반 정도로 유지하면 해마다 가장 많이 잡으면서도 개체 수를 지킬 수 있다는 생각을 바탕으로 잡는 양을 정하기도 합니다.

⑦ 성장률이 크면 이상한 일이 생긴다

성장률 r을 0.5보다 크게 바꿔 같은 식으로 계산하면 놀라운 결과가 나옵니다.

  • r = 1.8: 1년 뒤 100 + 1.8 × 100 × 0.9 = 262, 2년 뒤 262 + 1.8 × 262 × 0.738 ≈ 610.0, 3년 뒤 610 + 1.8 × 610 × 0.39 ≈ 1,038.2. 환경수용력을 넘었다가 다시 줄었다 늘었다 하면서 1,000에 자리 잡습니다.
  • r = 2.3: 몇 년 뒤부터 약 688마리와 1,182마리를 해마다 번갈아 오갑니다. 1,182마리인 해는 너무 붐벼서 다음 해에 크게 줄고, 688마리인 해는 여유가 있어 다시 크게 늡니다.
  • r = 2.8: 250, 775, 1,263, 333, 955 … 처럼 규칙을 찾기 어려울 만큼 요동칩니다. 이렇게 단순한 식에서 예측하기 어려운 움직임이 나오는 현상을 혼돈(카오스)이라고 합니다.

식은 하나인데 r 값 하나에 따라 "부드럽게 멈춤 → 출렁이며 멈춤 → 두 값 반복 → 혼돈"으로 성격이 완전히 바뀝니다. 직접 계산해 보면 수열의 귀납적 정의가 얼마나 다양한 모습을 만들 수 있는지 느낄 수 있습니다.

⑧ 이 주제로 탐구보고서를 쓴다면

  1. 탐구 질문과 가설: "생물의 수는 왜 등비수열처럼 끝없이 늘지 않을까?" → 가설: 환경수용력이 있으면 늘어나는 속도가 줄어 일정한 수에 가까워진다.
  2. 자료 수집과 계산: 처음 수, 성장률, 환경수용력을 정하고 an+1 = an + r·an(1 − an/K)을 엑셀에 입력해 20년치를 계산한다. 생명과학 시간에 효모나 콩나물 기르기 같은 간단한 관찰 자료가 있다면 실제 값과 비교해도 좋다.
  3. 그래프: 등비수열과 로지스틱 성장을 한 그래프에 그리고, 해마다 늘어난 수를 막대그래프로 그려 최대가 되는 지점을 찾는다.
  4. 결론과 한계: "환경수용력의 절반에서 가장 많이 늘어난다"처럼 수치로 결론을 쓴다. 한계로는 실제 환경수용력은 계절이나 먹이에 따라 바뀐다는 점, 천적이나 질병 같은 다른 요인이 빠졌다는 점을 적는다.

더 나아가 보고 싶다면 이런 질문도 좋습니다.

  • 해마다 50마리씩 잡아낸다면 붕어 수는 어디에 자리 잡을까? 100마리씩이면?
  • r을 0.1씩 바꿔 가며 계산할 때, 두 값을 번갈아 오가기 시작하는 r은 얼마쯤일까?
  • 신제품 보급률이나 감염병 누적 환자 수도 S자 곡선을 그릴까?

함께 읽으면 좋은 시리즈 글

다음 글 예고: 뉴스에서 자주 보는 "오차범위 ±3.1%p"는 어떻게 계산할까요? 다음 시리즈에서는 확률과 통계로 여론조사 오차범위를 직접 계산해 봅니다.

세특 탐구 주제 시리즈는 매주 새 글이 올라옵니다. 블로그를 구독해 두시면 새 탐구 주제를 놓치지 않고 받아 보실 수 있습니다.

세특 탐구 주제 시리즈 #5 · 고등학교 수학으로 생활 속 궁금증을 직접 계산해 보는 시리즈입니다. 이번 주제는 대수의 등비수열의 합과 지수·로그입니다.

약 봉투에 적힌 "하루 2번, 12시간 간격"이라는 말은 누가, 어떻게 정했을까요? 약효를 오래 유지하려면 더 자주 먹는 게 좋을 것 같지만, 그러면 몸속 약이 너무 많아질 수도 있습니다. 이번 글에서는 가상의 약 하나를 정해 놓고, 몸속 약의 양을 한 번 먹을 때마다 직접 계산해 보겠습니다. 계산에 필요한 것은 등비수열의 합과 상용로그뿐입니다.

주요단어: 약 복용 간격, 반감기, 약동학, 카페인, 등비수열의 합, 지수함수, 상용로그, 생활 속 수학, 대수, 고등학교, 주제탐구

① 먼저 알아 둘 것: 약은 일정한 시간마다 절반이 된다

계산을 시작하기 전에 알아 둘 사실이 하나 있습니다. 몸은 약을 일정한 비율로 없앱니다. 많은 약은 몸속에 남은 양이 일정한 시간마다 절반으로 줄어듭니다. 이 시간을 반감기라고 합니다. 탄소 연대 측정에서 탄소-14가 5,730년마다 절반이 되던 것과 같은 원리입니다.

몸은 먹은 약을 여러 길로 없앱니다.

  • 간에서 분해(대사): 대부분의 약은 간에서 다른 물질로 바뀌어 약효를 잃습니다.
  • 콩팥을 거쳐 소변으로: 피 속의 약과 분해된 물질이 콩팥에서 걸러져 소변으로 나갑니다. 가장 큰 배출 통로입니다.
  • 쓸개즙을 거쳐 대변으로: 간에서 만든 쓸개즙에 섞여 장으로 나간 뒤, 소화 과정의 찌꺼기와 함께 대변으로 빠져나갑니다.
  • 땀, 숨, 침: 아주 적은 양이지만 땀이나 내쉬는 숨, 침으로도 나갑니다.

이 통로들은 몸속에 약이 많을수록 그만큼 많이 내보냅니다. 400mg이 있을 때는 한 시간에 없애는 양이 많고, 100mg이 있을 때는 적습니다. 매번 "남은 양의 일정한 비율"만큼 줄어들기 때문에, 몇 mg이 있든 같은 시간이 지나면 절반이 됩니다.

이 글에서는 다음과 같은 가상의 약 A로 계산합니다. (실제 약의 수치는 약마다 다르니, 복용은 반드시 의사·약사의 안내를 따르세요.)

  • 한 번에 먹는 양: 400mg
  • 반감기: 6시간 (6시간마다 몸속 양이 절반)
  • 효과가 나려면 몸속에 100mg 이상 있어야 함
  • 약 복용 간격 몸속 양이 700mg을 넘으면 부작용 위험

② 한 번만 먹으면: 지수함수로 줄어든다

400mg을 먹고 시간이 지나면 몸속 양은 이렇게 줄어듭니다.

먹은 뒤 지난 시간 계산 몸속 약의 양
0시간 400 400mg
6시간 400 × 1/2 200mg
12시간 400 × (1/2)2 100mg
18시간 400 × (1/2)3 50mg
24시간 400 × (1/2)4 25mg

t시간이 지나면 6시간이 t ÷ 6 번 지난 것이므로, 몸속 양은 400 × (1/2)t ÷ 6 mg입니다. 한 번만 먹으면 12시간 뒤에 딱 100mg이 되어, 그때부터는 효과가 없습니다. 그래서 효과를 이어 가려면 다시 먹어야 합니다.

생활 속 실제 예: 오후 3시에 마신 커피는 밤 11시에 얼마나 남아 있을까?
반감기는 약에만 있는 것이 아닙니다. 커피의 카페인도 몸속에서 일정한 시간마다 절반으로 줄어드는데, 성인의 카페인 반감기는 보통 약 5시간(사람에 따라 3~7시간)으로 알려져 있습니다. 아메리카노 한 잔에 카페인이 약 150mg 들어 있다고 하고 계산해 봅시다.
① 오후 3시부터 밤 11시까지는 8시간이므로, 반감기 5시간이 8 ÷ 5 = 1.6번 지납니다.
② 남은 양 = 150 × (1/2)1.6 = 150 ÷ 21.6
③ 21.6을 상용로그로 구하면 log 21.6 = 1.6 × 0.3010 = 0.4816 이고, 100.4816 ≈ 3.03 이므로 21.6 ≈ 3.03
④ 남은 양 ≈ 150 ÷ 3.03 ≈ 49.5mg
잠자리에 들 때도 처음 마신 양의 약 1/3, 커피 3분의 1잔 정도가 몸속에 남아 있는 셈입니다. 오후 늦게 마신 커피가 잠을 방해하는 이유를 숫자로 확인할 수 있습니다.

③ 12시간마다 먹으면: 한 번씩 직접 계산하기

12시간은 반감기 6시간이 두 번 지나는 시간입니다. 그러니 12시간 뒤에는 남아 있던 양이 (1/2) × (1/2) = 1/4이 됩니다. 이 점만 기억하고 한 번씩 따라가 봅시다.

  1. 1번째 복용 직후: 400mg
  2. 2번째 복용 직후 (12시간): 남은 양 400 × 1/4 = 100mg, 여기에 새로 400mg → 100 + 400 = 500mg
  3. 3번째 복용 직후 (24시간): 500 × 1/4 = 125mg 남음 → 125 + 400 = 525mg
  4. 4번째 복용 직후 (36시간): 525 × 1/4 = 131.25mg 남음 → 131.25 + 400 = 531.25mg
  5. 5번째 복용 직후 (48시간): 531.25 × 1/4 ≈ 132.81mg 남음 → 532.81mg

늘어나는 양이 100 → 25 → 6.25 → 1.56 으로 점점 작아집니다. 몸속 약은 계속 쌓이기만 하는 것이 아니라, 어떤 값 근처에서 거의 멈춥니다.

④ 등비수열의 합으로 정리하기

3번째 복용 직후의 525mg을 다시 뜯어보면, 몸속에는 세 번 먹은 약이 섞여 있습니다.

  • 방금 먹은 약: 400mg
  • 12시간 전에 먹은 약: 400 × 1/4 = 100mg
  • 24시간 전에 먹은 약: 400 × (1/4)2 = 25mg

더하면 400 + 100 + 25 = 525mg으로 위의 계산과 같습니다. 그러니 n번째 복용 직후의 양 Sn은 첫째항 400, 공비 1/4인 등비수열의 합입니다.

Sn = 400 + 400 × (1/4) + 400 × (1/4)2 + … + 400 × (1/4)n−1

등비수열의 합 공식 S = a(1 − rn) ÷ (1 − r) 에 a = 400, r = 1/4 을 넣어 한 단계씩 정리합니다.

  1. 분모: 1 − 1/4 = 3/4
  2. Sn = 400 × {1 − (1/4)n} ÷ (3/4) = 400 × 4/3 × {1 − (1/4)n}
  3. 400 × 4/3 = 1600/3 ≈ 533.33 이므로   Sn = 533.33 × {1 − (1/4)n}

숫자로 확인해 봅시다. n = 3 이면 (1/4)3 = 1/64 = 0.015625 이므로 533.33 × (1 − 0.015625) = 533.33 × 0.984375 ≈ 525mg. ③에서 한 번씩 더한 값과 정확히 같습니다.

이 식에서 중요한 사실이 하나 보입니다. (1/4)n은 아무리 n이 커져도 0보다 큰 양수이므로, 1 − (1/4)n은 항상 1보다 작습니다. 따라서 몇 번을 먹어도 몸속 양은 533.33mg을 넘지 못합니다. 8번째에는 533.33 × (1 − 1/65,536) ≈ 533.32mg으로, 그 선에 거의 붙어 있습니다.

다음 복용 직전(가장 적을 때)의 양은 이 값의 1/4이므로 533.33 × 1/4 ≈ 133.33mg입니다. 즉 12시간 간격으로 먹으면 몸속 약은 약 133mg ~ 533mg 사이를 오가고, 이는 효과 기준 100mg과 위험 기준 700mg 사이에 쏙 들어갑니다.

⑤ 간격을 바꾸면? 6시간·12시간·24시간 비교

같은 방법으로 간격만 바꿔 봅시다. 바뀌는 것은 공비뿐입니다.

  • 6시간 간격: 반감기 1번 → 공비 1/2. Sn = 400 × {1 − (1/2)n} ÷ (1/2) = 800 × {1 − (1/2)n}
    → 400, 600, 700, 750, 775, … 4번째 복용(18시간)부터 위험 기준 700mg을 넘습니다.
  • 12시간 간격: 공비 1/4 → 최대 533.33mg, 최소 133.33mg (④에서 계산)
  • 24시간 간격: 반감기 4번 → 공비 (1/2)4 = 1/16. Sn = 400 × {1 − (1/16)n} ÷ (15/16) ≈ 426.67 × {1 − (1/16)n}
    → 최대 약 426.67mg, 다음 복용 직전에는 426.67 × 1/16 ≈ 26.67mg까지 떨어집니다.
복용 간격 공비 최대(먹은 직후) 최소(먹기 직전) 판정
6시간 1/2 약 800mg 약 400mg 위험 기준 초과
12시간 1/4 약 533mg 약 133mg 안전하고 효과 유지
24시간 1/16 약 427mg 약 27mg 효과 없는 시간이 김

⑥ 로그로 계산하기: 24시간 간격이면 몇 시간 동안 효과가 있을까?

24시간 간격에서 먹은 직후 양은 약 426.67mg입니다. 이 양이 100mg까지 떨어지는 시간 t를 구해 봅시다.

  1. 식 세우기: 426.67 × (1/2)t ÷ 6 = 100
  2. 정리하기: 양변을 426.67로 나누면 (1/2)t ÷ 6 = 100 ÷ 426.67, 즉 2t ÷ 6 = 426.67 ÷ 100 = 4.2667
  3. 양변에 상용로그: (t ÷ 6) × log 2 = log 4.2667
  4. 로그 값 구하기: 4.2667 = 64/15 이므로 log 4.2667 = log 64 − log 15 = 6 log 2 − (log 3 + log 5) = 1.8062 − (0.4771 + 0.6990) = 0.6301
  5. t 구하기: t ÷ 6 = 0.6301 ÷ 0.3010 ≈ 2.093 이므로 t ≈ 6 × 2.093 ≈ 12.6시간

확인: 426.67 × (1/2)2.093 = 426.67 ÷ 22.093 ≈ 426.67 ÷ 4.267 ≈ 100mg. 맞습니다. 결국 24시간 간격으로 먹으면 하루 24시간 가운데 약 12.6시간만 효과가 있고, 나머지 11.4시간은 효과가 없습니다.

같은 방법으로 12시간 간격으로 먹다가 마지막 약을 먹은 뒤(533.33mg) 100mg 아래로 내려가는 시간을 구하면, 2t ÷ 6 = 5.333, log 5.333 = log 16 − log 3 = 1.2041 − 0.4771 = 0.7270, t = 6 × 0.7270 ÷ 0.3010 ≈ 14.5시간입니다.

⑦ 이 주제로 탐구보고서를 쓴다면

  1. 탐구 질문과 가설: "약을 자주 먹을수록 좋을까?" → 가설: 간격이 짧으면 몸속 양이 계속 쌓여 위험해지고, 길면 효과가 끊긴다.
  2. 자료 수집과 계산: 반감기와 1회 복용량을 정하고(실제 약은 의약품 설명서의 반감기를 참고), 간격별로 Sn을 직접 계산해 표로 정리한다. 위의 ③·④처럼 한 번씩 더한 값과 공식 값이 같은지 확인한다.
  3. 그래프: 엑셀이나 파이썬으로 시간에 따른 몸속 양을 톱니 모양 그래프로 그리고, 효과 기준선과 위험 기준선을 함께 표시한다.
  4. 결론과 한계: "공비가 1/4인 12시간 간격이 두 기준 사이에 머문다"처럼 수치로 결론을 쓴다. 한계로는 실제로는 약이 바로 흡수되지 않고 서서히 흡수된다는 점, 사람마다 반감기가 다르다는 점을 적는다.

더 나아가 보고 싶다면 이런 질문도 좋습니다.

  • 첫 번째에만 더 많이 먹으면(처음에 533mg) 처음부터 일정한 양을 유지할 수 있을까?
  • 약을 한 번 빼먹었을 때 다시 원래 범위로 돌아오려면 몇 번을 먹어야 할까?
  • 반감기가 4시간이라면 몇 시간 간격이 가장 알맞을까?

함께 읽으면 좋은 시리즈 글

다음 글 예고: 생물의 수는 왜 무한히 늘지 않을까요? 다음 시리즈에서는 연못 붕어의 수를 수열의 귀납적 정의로 계산하는 로지스틱 성장을 다룹니다.

세특 탐구 주제 시리즈는 매주 새 글이 올라옵니다. 블로그를 구독해 두시면 새 탐구 주제를 놓치지 않고 받아 보실 수 있습니다.

※ 이 글의 약 A는 수학 계산을 위한 가상의 예입니다. 실제 약의 복용량과 간격은 반드시 의사·약사의 안내를 따르세요.

세특 탐구 주제 시리즈 · 진로 연계편 (컴퓨터공학·소프트웨어공학)

지난 글 72의 법칙은 왜 성립할까?에서는 "연 8%면 약 9년 만에 돈이 2배가 된다"는 공식을 지수와 로그로 확인했습니다. 이번에는 한 걸음 더 나아가 이 공식을 계산기 프로그램으로 직접 만들어 봅니다. 이 글 아래쪽에 있는 계산기가 바로 그 결과물입니다.

요즘은 AI에게 물어보면 답을 바로 알려 줍니다. 그런데 컴퓨터공학이나 소프트웨어공학을 꿈꾸는 학생이라면 답 하나보다 답을 내는 과정을 직접 설계하고, 틀린 곳을 찾아 고쳐 본 경험이 훨씬 오래 남습니다. 이 글은 그 과정을 처음부터 끝까지, 실제로 만나 고친 버그까지 그대로 보여 드립니다.

코드는 계산기에 실제로 들어간 자바스크립트와, 학교 정보 시간에 많이 쓰는 파이썬 두 가지로 나란히 보여 드립니다. 두 언어는 모양만 조금 다를 뿐 생각하는 순서는 같습니다. 파이썬 코드는 그대로 복사해서 실행해 볼 수 있습니다.

주요단어: 72의 법칙, 계산기 만들기, HTML, 자바스크립트, 파이썬, 반복문, 알고리즘 비교, 상용로그, 좌표 변환, 디버깅, 테스트, 컴퓨터공학, 소프트웨어공학, 정보, 대수, 고등학교, 주제탐구

① 전제: 모든 프로그램은 "입력 → 처리 → 출력"이다

프로그램을 만들기 전에 가장 먼저 해야 할 일은 코드를 쓰는 것이 아니라 무엇을 받아서, 무엇을 하고, 무엇을 보여 줄지 정하는 것입니다. 72의 법칙 계산기는 이렇게 설계했습니다.

  • 입력: 원금(예: 100만 원)과 연이율(예: 8%)
  • 검사: 0이나 음수, 빈칸이 들어오면 계산하지 않고 안내 문구를 보여 줌
  • 계산: 72의 법칙 값(72 ÷ 8 = 9.00년)과 실제 복리 값(9.01년)
  • 출력: 결과 카드, 설명 문장, 그래프, 표

마지막 화살표를 눈여겨보세요. 사용자가 숫자를 하나 바꿀 때마다 ①부터 다시 실행해야 결과가 바로 바뀝니다. 자바스크립트에서는 입력칸에 input 이벤트를 걸어 이것을 처리합니다.

자바스크립트 (이 글의 계산기에 들어간 코드)

입력칸.addEventListener('input', calc);   // 숫자가 바뀌면 calc 함수를 다시 실행

파이썬 (학교에서 많이 쓰는 언어로 같은 일을 하는 코드)

파이썬에는 웹 화면의 입력칸이 없으니, 키보드로 숫자를 받는 input()을 while True 반복 안에 넣어 같은 흐름을 만듭니다. 그림1의 ①~④가 코드에 그대로 들어 있습니다. 멈추려면 Ctrl+C를 누르면 됩니다.

import math

while True:                                   # 계속 반복해서 새 숫자를 받음
    원금 = float(input("원금(만 원): "))        # ① 입력
    이율 = float(input("연이율(%): "))
    if 원금 <= 0 or 이율 <= 0:                 # ② 검사
        print("0보다 큰 숫자를 넣어 주세요.")
        continue
    법칙 = 72 / 이율                            # ③ 계산
    실제 = math.log(2) / math.log(1 + 이율 / 100)
    print(f"72의 법칙: {법칙:.2f}년, 실제: {실제:.2f}년")   # ④ 출력

100과 8을 넣으면 72의 법칙: 9.00년, 실제: 9.01년이 출력됩니다.

② 계산 방법 1: 반복문으로 한 해씩 따라가기

"돈이 2배가 되는 데 몇 년 걸릴까?"를 가장 쉽게 계산하는 방법은 컴퓨터에게 1년씩 직접 계산시키는 것입니다. 사람이 손으로 하는 방법을 그대로 옮긴 것이지요. 100만 원, 연 8%로 따라가 보겠습니다.

1년 뒤: 100만 × 1.08 = 108만 원
2년 뒤: 108만 × 1.08 = 116.64만 원
3년 뒤: 116.64만 × 1.08 = 125.97만 원
⋮
9년 뒤: 185.09만 × 1.08 = 199.90만 원 (아직 200만 원이 안 됨)
10년 뒤: 199.90만 × 1.08 = 215.89만 원 (200만 원을 넘음 → 멈춤)

이 과정을 코드로 쓰면 아래와 같습니다. "금액이 목표보다 작은 동안 계속 1.08을 곱하라"는 뜻입니다.

자바스크립트 (이 글의 계산기에 들어간 코드)

let 금액 = 100;        // 만 원
let 72의 법칙 계산기,자바스크립트,파이썬,프로그래밍 탐구,알고리즘,반복문,로그,컴퓨터공학 진로,소프트웨어공학,정보,세특 주제,년 = 0;
while (금액 < 200) {   // 2배인 200만 원이 될 때까지
  금액 = 금액 * 1.08;
  년 = 년 + 1;
}
// 반복이 끝나면 년 = 10

파이썬 (학교에서 많이 쓰는 언어로 같은 일을 하는 코드)

금액 = 100        # 만 원
년 = 0
while 금액 < 200:   # 2배인 200만 원이 될 때까지
    금액 = 금액 * 1.08
    년 = 년 + 1
print(년, round(금액, 2))   # 출력: 10 215.89

두 언어를 비교해 보면, 자바스크립트는 반복할 부분을 { } 중괄호로 묶고 파이썬은 들여쓰기로 묶는다는 차이만 있습니다.

이 방법은 이해하기 쉽지만 두 가지 한계가 있습니다. 첫째, 답이 "10년"처럼 정수로만 나옵니다. 실제로는 9년이 조금 지나서 2배가 되는데 말이지요. 둘째, 이율이 작으면 반복이 아주 많아집니다. 연 0.1%라면 1.001을 694번 곱해야 2배가 넘습니다(1.001693 ≈ 1.9990, 1.001694 ≈ 2.0010).

③ 계산 방법 2: 로그로 한 번에 계산하기

대수 시간에 배우는 로그를 쓰면 반복 없이 한 번에 답을 구할 수 있습니다. 2배가 되는 기간을 n년이라 하면

100만 × 1.08n = 200만
양변을 100만으로 나누면 → 1.08n = 2
양변에 상용로그를 취하면 → log 1.08n = log 2
로그의 성질 log an = n log a 를 쓰면 → n × log 1.08 = log 2
따라서 → n = log 2 ÷ log 1.08

상용로그표 값을 넣어 계산해 봅시다.

log 2 ≈ 0.3010, log 1.08 ≈ 0.0334
n ≈ 0.3010 ÷ 0.0334 ≈ 9.01년

확인: 1.089 ≈ 1.999 이므로 9년에서 아주 조금 더 지나면 2가 됩니다. ②에서 9년 뒤 199.90만 원이었던 것과 딱 맞습니다. 코드로는 한 줄입니다.

자바스크립트 (이 글의 계산기에 들어간 코드)

const 실제년수 = Math.log(2) / Math.log(1 + 이율 / 100);   // 8%면 9.006...
const 법칙년수 = 72 / 이율;                                // 8%면 9

파이썬 (학교에서 많이 쓰는 언어로 같은 일을 하는 코드)

import math
이율 = 8
실제년수 = math.log(2) / math.log(1 + 이율 / 100)   # 9.006...
법칙년수 = 72 / 이율                                # 9.0
print(math.log10(2) / math.log10(1.08))           # 상용로그로 해도 9.006...

자바스크립트의 Math.log와 파이썬의 math.log는 상용로그가 아니라 다른 밑을 쓰는 로그지만(파이썬에서 상용로그는 math.log10), 나눗셈 꼴로 쓰면 밑이 무엇이든 결과가 같습니다(로그의 밑 변환 공식). 그래서 상용로그로 손계산한 9.01년과 컴퓨터 결과가 일치합니다.

비교 방법 1: 반복문 방법 2: 로그 공식
연 8%일 때 계산 횟수 10번 곱셈 나눗셈 1번
연 0.1%일 때 계산 횟수 694번 곱셈 나눗셈 1번
결과 10년 (정수) 9.01년 (소수까지)
장점 원리가 눈에 보임 빠르고 정확함

이것이 컴퓨터공학에서 말하는 알고리즘 비교입니다. 같은 답을 내더라도 이율에 따라 일이 늘어나는 방법과, 언제나 한 번이면 되는 방법이 있습니다. 완성된 계산기에는 방법 2를 썼습니다.

④ 72의 법칙은 얼마나 정확할까: 프로그램으로 검증하기

공식을 만들었으면 정말 맞는지 확인해야 합니다. 프로그램으로 연이율 1%부터 36%까지 0.5%씩 바꿔 가며 72의 법칙 값과 실제 값을 모두 계산해 그래프로 그렸습니다.

연이율 72의 법칙 실제 값 오차
2% 36.00년 35.00년 +1.00년
6% 12.00년 11.90년 +0.10년
8% 9.00년 9.01년 −0.01년
12% 6.00년 6.12년 −0.12년
24% 3.00년 3.22년 −0.22년

8% 근처에서 오차가 거의 0이고, 이율이 아주 낮거나 높아지면 오차가 커집니다. 손으로는 다섯 개만 계산해도 힘들지만, 프로그램은 71개 이율을 순식간에 계산합니다. 이렇게 많은 경우를 빠르게 확인하는 것이 프로그래밍이 탐구에 주는 가장 큰 힘입니다. 위 표는 파이썬으로 이렇게 만들 수 있습니다.

파이썬

import math
for 이율 in [2, 6, 8, 12, 24]:
    법칙 = 72 / 이율
    실제 = math.log(2) / math.log(1 + 이율 / 100)
    print(f"{이율}%: 법칙 {법칙:.2f}년, 실제 {실제:.2f}년, 오차 {법칙 - 실제:+.2f}년")

리스트를 [x / 2 for x in range(2, 73)]로 바꾸면 1%부터 36%까지 0.5% 간격의 71가지를 모두 계산합니다. 결과를 matplotlib으로 그리면 그림3이 됩니다.

⑤ 화면에 그래프 그리기: 좌표 변환은 일차식이다

계산기 안의 그래프는 HTML의 canvas(그림판)에 직접 점을 찍어 그렸습니다. 그런데 여기서 문제가 하나 생깁니다. 수학의 좌표평면은 위로 갈수록 y가 커지지만, 컴퓨터 화면은 왼쪽 위가 (0, 0)이고 아래로 갈수록 y가 커집니다.

그래서 "(9년, 199.9만 원)"이라는 점을 화면의 픽셀 위치로 바꾸는 식이 필요합니다. 그림판 크기는 가로 640픽셀, 세로 320픽셀이고, 눈금 글자를 쓸 여백으로 왼쪽 62, 오른쪽 16, 위 20, 아래 40픽셀을 비웠습니다. 그래프는 0~30년, 0~1006.3만 원(100만 × 1.0830)을 보여 줍니다.

가로 위치: 그래프를 그릴 수 있는 폭 = 640 − 62 − 16 = 562픽셀
x = 62 + 562 × (9 ÷ 30) = 62 + 168.6 = 230.6픽셀

세로 위치: 그래프를 그릴 수 있는 높이 = 320 − 20 − 40 = 260픽셀, 바닥선은 320 − 40 = 280픽셀
y = 280 − 260 × (199.9 ÷ 1006.3) = 280 − 51.6 = 228.4픽셀

세로 식에서 빼기를 쓴 것이 핵심입니다. 금액이 클수록 화면에서는 위쪽, 즉 픽셀 값이 작은 쪽에 찍혀야 하니까요. 두 식 모두 일차식이라는 점도 눈여겨보세요. 게임 화면, 지도 앱, 주식 차트도 모두 이런 좌표 변환으로 그려집니다.

자바스크립트 (이 글의 계산기에 들어간 코드)

const x = t => 62 + 562 * t / 30;            // 년 → 가로 픽셀
const y = v => 280 - 260 * v / 1006.3;       // 만 원 → 세로 픽셀

파이썬 (학교에서 많이 쓰는 언어로 같은 일을 하는 코드)

x = lambda t: 62 + 562 * t / 30            # 년 → 가로 픽셀
y = lambda v: 280 - 260 * v / 1006.3       # 만 원 → 세로 픽셀
print(round(x(9), 1), round(y(199.9), 1))  # 출력: 230.6 228.4

⑥ 테스트하다 찾은 버그 3가지

프로그램은 처음부터 완벽하게 동작하지 않습니다. 이 계산기도 여러 숫자를 넣어 보며 실제로 아래 버그들을 찾아 고쳤습니다. 소프트웨어공학에서는 이 과정을 테스트와 디버깅이라고 부릅니다.

버그 1: "9년 뒤 200만 원 (아직 2배 전)"이라는 모순된 문장
9년 뒤 금액 199.90만 원을 정수로 반올림해서 "200만 원"으로 보여 줬더니, 2배가 됐는데 "아직 2배 전"이라고 쓰는 이상한 문장이 나왔습니다. 계산은 맞았지만 보여 주는 방식이 틀린 경우입니다. 소수 첫째 자리까지 보여 주도록 바꿔 "199.9만 원"이 되게 고쳤습니다.

버그 2: "709만 원로 2배를 넘어요"
원금 300만 원, 연 24%로 테스트하니 문장이 어색했습니다. "원"은 받침이 있어서 "으로"를 써야 하는데 "로"를 붙였기 때문입니다. 숫자가 바뀌어도 늘 자연스럽도록 "709.3만 원이 되어 2배를 넘어요"처럼 조사가 바뀌지 않는 문장으로 고쳤습니다.

버그 3: 그래프 오른쪽 끝 글자가 잘림
처음에는 그래프를 "2배 되는 기간 × 3"까지만 그렸더니 8배 지점이 그래프 오른쪽 끝에 붙어서 "8배 (27.0년)" 글자가 화면 밖으로 잘렸습니다. 그래프 범위를 3.3배로 넓히고, 오른쪽에 가까운 글자는 점의 왼쪽에 쓰도록 바꿨습니다.

세 버그 모두 "8%, 100만 원" 한 가지만 넣어 봤다면 찾지 못했을 것입니다. 이율을 높게, 원금을 다르게, 화면을 좁게 바꿔 가며 테스트한 덕분에 찾았습니다.

⑦ 완성된 계산기 써 보기

아래 계산기에 숫자를 직접 넣어 보세요. 원금과 연이율을 바꾸면 결과 카드, 설명 문장, 그래프, 표가 바로 바뀝니다. 이율을 30% 이상으로 올려 72의 법칙 오차가 커지는 것도 확인해 보세요.

72의 법칙 계산기

원금과 연이율을 넣으면 돈이 2배가 되는 데 걸리는 시간을 72의 법칙과 실제 복리 계산으로 비교해 줘요.

72의 법칙 (72 ÷ 연이율)
-
실제 복리로 2배 되는 시점
-
오차
-
 

연 1회 복리 기준이에요. 세금과 수수료는 계산하지 않았어요. 실제 2배 시점은 (1+r)ⁿ = 2 를 만족하는 n을 로그로 구한 값이에요.

⑧ 이 주제로 탐구보고서를 쓴다면

이 글의 과정을 그대로 따라 하면 정보 교과와 대수를 잇는 탐구보고서가 됩니다.

  1. 탐구 질문과 가설: "72의 법칙은 어느 이율에서 가장 정확할까? 반복문과 로그 공식 중 어떤 알고리즘이 더 효율적일까?" 가설 예시: "이율이 높을수록 72의 법칙의 오차가 커질 것이다."
  2. 필요한 자료와 방법: 연이율 1%~36%를 0.5%씩 바꾼 71가지 경우. ②의 반복문과 ③의 로그 공식을 각각 코드로 작성하고(파이썬으로 해도 충분합니다), 이율마다 반복 횟수와 결과를 기록합니다. 손계산으로 8%와 24% 두 경우를 직접 확인해 코드가 맞는지 검증합니다.
  3. 계산과 그래프: 그림3처럼 "이율–오차" 그래프와, 이율이 작아질 때 반복 횟수가 얼마나 늘어나는지(8%는 10번, 0.1%는 694번) 표로 정리합니다.
  4. 결론과 한계: 72의 법칙은 8% 근처에서 가장 정확하고, 로그 공식은 이율과 관계없이 계산 한 번으로 끝난다는 결론을 냅니다. 한계로 "연 1회 복리만 다뤘다", "세금과 수수료를 빼지 않았다"를 쓰고, 확장 질문으로 "월 복리라면 결과가 어떻게 달라질까?"를 남깁니다.

보고서에는 ⑥처럼 직접 겪은 버그와 고친 과정을 꼭 넣으세요. 결과만 있는 보고서보다 "어디서 막혔고 어떻게 해결했는지"가 있는 보고서가 컴퓨터공학 전공 적합성을 훨씬 잘 보여 줍니다.

⑨ 직접 해 보기 (답은 아래에)

  1. ②의 반복문을 고쳐서 100만 원이 연 8%로 3배(300만 원)가 되는 해를 구해 보세요.
  2. 로그로 3배가 되는 정확한 기간을 구해 보세요. (log 3 ≈ 0.4771)
  3. 2번 답에 8을 곱해 보세요. 3배가 되는 기간에도 "72의 법칙" 같은 규칙을 만들 수 있을까요?
답 보기

1. 14년 뒤 100만 × 1.0814 ≈ 293.7만 원(아직 3배 전), 15년 뒤 ≈ 317.2만 원 → 반복문의 답은 15년입니다. 자바스크립트는 while (금액 < 300), 파이썬은 while 금액 < 300:으로 목표만 바꾸면 됩니다.

2. n = log 3 ÷ log 1.08 ≈ 0.4771 ÷ 0.0334 ≈ 14.3년 (컴퓨터로 계산하면 14.27년)

3. 14.27 × 8 ≈ 114.2 이므로 "114 ÷ 연이율 ≈ 3배 되는 기간"이라는 규칙을 만들 수 있습니다. 114 ÷ 8 = 14.25년으로 실제 값과 0.02년밖에 차이 나지 않습니다. 이것을 흔히 "114의 법칙"이라고 부릅니다.

마무리

"72 ÷ 이율"이라는 한 줄짜리 공식도 계산기로 만들려면 입력 검사, 알고리즘 선택, 좌표 변환, 테스트까지 여러 단계를 거쳐야 합니다. 그리고 그 각 단계에 반복, 로그, 일차식 같은 고등학교 수학이 들어 있습니다. AI가 코드를 대신 써 주는 시대에도, 무엇을 만들지 설계하고 틀린 곳을 찾아내는 힘은 직접 만들어 본 사람만 가질 수 있습니다.

함께 읽으면 좋은 글: 72의 법칙은 왜 성립할까? 지수·로그로 탐구하는 복리의 수학 · RSA 암호의 수학 · 선형회귀 탐구

세특 탐구 주제 시리즈는 계속됩니다. 다음 진로 연계편에서는 대출 이자를 한 달씩 계산해 주는 대출 상환 시뮬레이터를 만들어 볼 예정입니다. 새 탐구 주제를 놓치지 않으려면 블로그를 구독해 주세요.

은행에 돈을 맡기면 이자를 받고, 은행에서 돈을 빌리면 이자를 냅니다. 그런데 그 이자와, 대출을 갚을 때 "매달 같은 금액"(원리금균등상환)은 어떻게 정해질까요? 은행 계산기 안에 들어 있는 것은 사실 고등학교에서 배우는 등차수열과 등비수열입니다. 이번 글에서는 가장 중요한 전제조건부터 확인한 뒤, 정기예금 → 적금 → 대출 순서로 한 달씩 직접 따라가며 계산해 보겠습니다.

주요단어: 원리금균등상환, 원금균등상환, 대출 이자, 정기예금, 적금, 단리, 복리, 등차수열의 합, 등비수열의 합, 이자소득세, 경제, 경제 수학, 생활 속 수학, 대수, 고등학교, 주제탐구

① 전제조건: 시간은 돈이다

이 탐구를 이해하기 위해선 가장 중요한 전제조건이 있습니다.

시간이 돈이라는 사실입니다.

오늘 받는 100만 원과 1년 뒤에 받는 100만 원은 같은 값일까요? 그렇지 않습니다. 오늘 100만 원이 있으면 그 돈을 은행에 1년 동안 맡겨 이자를 받을 수 있기 때문입니다. 연 3.6% 금리라면

1년 이자: 100만 × 0.036 = 36,000원
1년 뒤 받는 돈: 100만 + 36,000 = 103만 6,000원

즉 오늘의 100만 원은 1년 뒤의 103만 6,000원과 같은 값입니다. 돈이 "시간"을 거치면서 36,000원이 새로 생긴 것이지요.

이렇게 돈이 생기는 이유는, 돈을 맡기는 사람이 그동안 그 돈을 쓰지 못하고 기다려 주기 때문입니다. 은행은 기다려 준 시간의 값을 이자로 치러 줍니다. 이율(금리)은 바로 이 "시간의 값"을 퍼센트로 나타낸 것입니다. 연 3.6%는 "100만 원을 1년 동안 쓰지 않고 맡겨 주면 3만 6,000원을 준다"는 뜻입니다.

시간이 길어지면 생기는 돈도 늘어납니다. 같은 100만 원을 2년 맡기면 이자가 36,000 × 2 = 72,000원이 됩니다(단리 기준). 그래서 이 글에서 계산하는 모든 이자는 다음 세 가지로 정해집니다.

이자 = 맡기거나 빌린 돈 × 이율 × 시간

돈을 맡기는 사람은 시간의 값을 받고(정기예금, 적금), 돈을 빌리는 사람은 시간의 값을 냅니다(대출). 이제 이 전제를 가지고 하나씩 계산해 보겠습니다.

② 정기예금: 목돈을 한 번에 맡기면

먼저 은행에 돈을 맡기는 경우부터 봅시다. 예금은 사실 내가 은행에 돈을 빌려주는 것과 같습니다. 그래서 은행이 나에게 "시간의 값", 즉 이자를 줍니다.

정기예금은 목돈을 한 번에 맡기고 정해진 기간 뒤에 찾는 상품입니다. 다음 조건으로 계산해 보겠습니다.

  • 맡긴 돈: 1,200만 원 (한 번에)
  • 금리: 연 3.6%, 기간: 1년

단리로 계산하기

단리는 처음 맡긴 원금에만 이자가 붙는 방식입니다.

1년 이자: 1,200만 × 0.036 = 43만 2,000원

그런데 이자를 그대로 다 받지는 않습니다. 이자에는 이자소득세 15.4%(소득세 14% + 지방소득세 1.4%)가 붙습니다.

  1. 세금 계산: 432,000 × 0.154 = 66,528원
  2. 세후 이자: 432,000 − 66,528 = 365,472원

즉 1년 뒤 실제로 손에 쥐는 돈은 1,200만 + 365,472 = 1,236만 5,472원입니다.

월복리로 계산하기

월복리는 이자를 매달 원금에 더해, 다음 달에는 이자에도 이자가 붙는 방식입니다. 한 달 이자율은 3.6% ÷ 12 = 0.3% 입니다.

1개월 뒤: 1,200만 × 1.003 = 1,203만 6,000원
2개월 뒤: 1,203만 6,000 × 1.003 = 1,200만 × 1.0032 ≈ 1,207만 2,108원
12개월 뒤: 1,200만 × 1.00312 ≈ 1,200만 × 1.0366 = 1,243만 9,200원

이자는 43만 9,200원으로, 단리보다 7,200원 많습니다. 1년만 보면 차이가 작지만, 오래 맡길수록 차이가 커집니다.

단리는 등차수열, 복리는 등비수열

1원리금균등상환,대출 이자 계산,정기예금 이자 계산,적금 이자 계산,단리 복리,등비수열의 합,경제 수학,수학 탐구,세특 주제,고등학교 수학, ,200만 원을 연 3.6%로 오래 맡긴다고 해 봅시다.

  • 단리: 매년 똑같이 43만 2,000원씩 늘어납니다. 1,200만, 1,243.2만, 1,286.4만, … 처럼 같은 수를 더하는 등차수열입니다.
  • 연복리: 매년 1.036배가 됩니다. 1,200만, 1,243.2만, 1,287.9만, … 처럼 같은 수를 곱하는 등비수열입니다.

30년 뒤를 계산하면 단리는 1,200만 × (1 + 0.036 × 30) = 2,496만 원, 복리는 1,200만 × 1.03630 ≈ 3,467만 원으로 약 971만 원이나 차이가 납니다.

③ 적금: 매달 조금씩 모으면

적금은 목돈 대신 매달 같은 돈을 나누어 넣는 상품입니다. 다음 조건으로 계산해 보겠습니다.

  • 매달 넣는 돈: 100만 원, 기간: 12개월 (총 1,200만 원)
  • 금리: 연 4%, 우리나라 정기적금에서 흔한 단리 방식

회차마다 은행에 머무는 기간이 다르다

적금 이자는 각 100만 원이 은행에 몇 개월 있었는지로 정해집니다. 첫 달에 넣은 100만 원은 12개월 동안 있지만, 마지막 달에 넣은 100만 원은 1개월만 있습니다. 여기서도 시간이 곧 돈입니다.

  1. 1회차 100만 원 (12개월): 100만 × 0.04 × 12/12 = 40,000원
  2. 2회차 100만 원 (11개월): 100만 × 0.04 × 11/12 ≈ 36,667원
  3. 3회차 100만 원 (10개월): 100만 × 0.04 × 10/12 ≈ 33,333원
  4. … 이렇게 한 달씩 줄어서
  5. 12회차 100만 원 (1개월): 100만 × 0.04 × 1/12 ≈ 3,333원

회차별 이자는 매번 3,333원씩 줄어드는 등차수열입니다. 등차수열의 합 공식 (첫째항 + 끝항) × 개수 ÷ 2 를 쓰면

(40,000 + 3,333) × 12 ÷ 2 ≈ 260,000원

입니다. 더 정확하게는 100만 × 0.04 × (12 + 11 + … + 1) ÷ 12 = 100만 × 0.04 × 78 ÷ 12 = 260,000원으로 딱 떨어집니다. 세금 15.4%(40,040원)를 빼면 세후 이자는 219,960원입니다.

금리 4% 적금인데, 왜 3.6% 예금보다 이자가 적을까?

같은 1,200만 원을 넣었는데 적금(4%) 이자는 26만 원, 예금(3.6%) 이자는 43만 2,000원입니다. 금리가 더 높은 적금 이자가 훨씬 적습니다.

이유는 역시 시간입니다. 예금은 1,200만 원 전체가 12개월 내내 은행에 있지만, 적금은 처음에는 100만 원, 반년쯤 지나야 600만 원 정도만 은행에 있습니다. 실제로 260,000 ÷ 1,200만 ≈ 0.0217 이므로, 연 4% 적금은 1,200만 원 예금으로 치면 약 연 2.2%짜리와 비슷합니다. 적금 금리를 볼 때는 이 점을 꼭 기억해야 합니다.

월복리 적금은 등비수열의 합

적금이 월복리라면 회차마다 (1 + 0.04/12)를 머문 개월 수만큼 곱합니다. 한 달 이자율 0.04 ÷ 12 ≈ 0.003333 이고, 1 + 0.003333 = 1.003333 을 q라고 두겠습니다.

  1. 1회차 100만 원은 12개월 뒤 100만 × q12, 2회차는 100만 × q11, …, 12회차는 100만 × q 가 됩니다.
  2. 만기 금액은 100만 × (q + q2 + … + q12) 이고, 괄호 안은 첫째항 q, 공비 q인 등비수열의 합입니다.
  3. q12 ≈ 1.040742 이므로, 합 = q × (q12 − 1) ÷ (q − 1) = 1.003333 × 0.040742 ÷ 0.003333 ≈ 12.2632
  4. 만기 금액 ≈ 100만 × 12.2632 = 1,226만 3,204원, 이자는 263,204원입니다.

단리 적금보다 3,204원 많습니다. 그리고 이 등비수열의 합은 바로 다음 ④에서 대출 상환액을 구할 때 그대로 다시 등장합니다.

④ 원리금균등상환: 대출을 갚는 돈은 어떻게 정해질까

이번에는 거꾸로 은행에서 돈을 빌리는 경우입니다. 이때는 내가 은행의 돈을 쓰는 시간만큼 "시간의 값"을 이자로 내야 합니다. 은행에서 돈을 빌리면 보통 매달 같은 금액을 갚는데, 이 방식을 원리금균등상환이라고 합니다.

문제: 1,000만 원을 12개월 동안 갚으려면?

다음 조건으로 돈을 빌렸다고 합시다.

  • 빌린 돈: 1,000만 원
  • 금리: 연 6% → 한 달 이자율은 6% ÷ 12 = 0.5% (= 0.005)
  • 기간: 12개월, 매달 같은 금액 A원을 갚음

먼저 첫 달에 무슨 일이 일어나는지 봅시다. 한 달이 지나면 빌린 돈에 이자 0.5%가 붙습니다.

1개월 뒤 이자: 1,000만 × 0.005 = 5만 원
갚기 전 빚: 1,000만 + 5만 = 1,005만 원 = 1,000만 × 1.005

여기서 A원을 갚으면 남은 빚은 1,000만 × 1.005 − A 원입니다.

한 달씩 따라가며 식 세우기

2개월째에는 남은 빚에 다시 1.005가 곱해지고, 또 A를 갚습니다.

1개월 뒤 남은 빚: 1,000만 × 1.005 − A
2개월 뒤 남은 빚: (1,000만 × 1.005 − A) × 1.005 − A
           = 1,000만 × 1.0052 − A × 1.005 − A
3개월 뒤 남은 빚: 1,000만 × 1.0053 − A × 1.0052 − A × 1.005 − A

규칙이 보입니다. 빌린 돈에는 1.005가 개월 수만큼 곱해지고, 갚은 돈 A들은 각각 "갚은 뒤 남은 개월 수"만큼 1.005가 곱해집니다. 그러니 12개월 뒤 남은 빚은

1,000만 × 1.00512 − A × (1.00511 + 1.00510 + … + 1.005 + 1)

입니다. 12개월 뒤에는 빚을 다 갚아야 하므로 이 값이 0이 되어야 합니다.

1,000만 × 1.00512 = A × (1 + 1.005 + 1.0052 + … + 1.00511)

등비수열의 합으로 A 구하기

오른쪽 괄호 안은 첫째항 1, 공비 1.005인 등비수열의 첫째항부터 제12항까지의 합입니다. 등비수열의 합 공식 S = a(rn − 1) ÷ (r − 1) 을 쓰면 됩니다. 한 단계씩 계산해 보겠습니다.

  1. 1.00512을 계산합니다.   1.00512 ≈ 1.061678
  2. 왼쪽을 계산합니다.   1,000만 × 1.061678 ≈ 10,616,778원
  3. 오른쪽 괄호(등비수열의 합)를 계산합니다.   (1.00512 − 1) ÷ (1.005 − 1) = 0.061678 ÷ 0.005 ≈ 12.3356
  4. A를 구합니다.   A = 10,616,778 ÷ 12.3356 ≈ 860,664원

즉 매달 약 86만 664원씩 12번 갚으면 됩니다. 이 과정을 문자로 정리하면 빌린 돈 P, 월이율 i, 개월 수 n일 때의 공식이 됩니다.

A = P × i × (1 + i)n ÷ {(1 + i)n − 1}

정말 0이 되는지 표로 확인하기

매달 860,664원을 내면, 그중 얼마가 이자이고 얼마가 원금을 갚는 데 쓰일까요? 이자는 항상 "그달 남은 빚 × 0.5%"이고, 나머지가 원금 상환입니다.

회차 그달 이자 원금 상환 남은 빚
1 50,000 810,664 9,189,336
2 45,947 814,718 8,374,618
3 41,873 818,791 7,555,827
4 37,779 822,885 6,732,942
5 33,665 827,000 5,905,942
6 29,530 831,135 5,074,808
7 25,374 835,290 4,239,517
8 21,198 839,467 3,400,051
9 17,000 843,664 2,556,387
10 12,782 847,882 1,708,504
11 8,543 852,122 856,382
12 4,282 856,382 0

1회차를 직접 확인해 보면, 이자는 1,000만 × 0.005 = 50,000원이고 원금 상환은 860,664 − 50,000 = 810,664원, 남은 빚은 10,000,000 − 810,664 = 9,189,336원입니다. 이렇게 12번을 반복하면 정확히 0원이 됩니다. (원 단위 반올림 때문에 표의 숫자끼리 1원 정도 차이가 날 수 있습니다.)

매달 내는 돈은 같지만, 처음에는 이자 비중이 크고 갈수록 원금 비중이 커진다는 점이 원리금균등상환의 핵심입니다. 12개월 동안 낸 돈은 860,664 × 12 = 10,327,968원이므로, 이자로 낸 돈은 약 32만 8천 원입니다.

원금균등상환과 비교하기

또 다른 방식인 원금균등상환은 원금을 매달 똑같이 나눠 갚고, 이자는 따로 냅니다.

  • 원금: 1,000만 ÷ 12 ≈ 833,333원씩 매달 똑같이
  • 1회차 이자: 1,000만 × 0.005 = 50,000원 → 1회차에 883,333원
  • 12회차 이자: 남은 빚 833,333원 × 0.005 ≈ 4,167원 → 12회차에 837,500원

이자를 모두 더하면 50,000 + 45,833 + … + 4,167 = 325,000원입니다. 이 값도 등차수열의 합으로 구할 수 있습니다. 이자가 매달 4,167원씩 줄어드는 등차수열이기 때문에, (첫째항 + 끝항) × 개수 ÷ 2 = (50,000 + 4,167) × 12 ÷ 2 ≈ 325,000원입니다.

방식 첫 달에 내는 돈 마지막 달에 내는 돈 총이자
원리금균등상환 860,664원 860,664원 약 327,968원
원금균등상환 883,333원 837,500원 325,000원

원금균등상환은 원금을 더 빨리 줄이기 때문에 총이자가 조금 적습니다. 대신 처음 몇 달의 부담이 더 큽니다. 어느 쪽이 좋은지는 처음 부담을 감당할 수 있는지에 따라 달라집니다.

실제 주택담보대출 크기로 키워 보기

이번에는 1억 원을 연 4.8%(월 0.4%)로 30년(360개월) 빌린 경우를 같은 공식으로 계산해 봅시다.

  1. 1.004360 ≈ 4.2086
  2. A = 1억 × 0.004 × 4.2086 ÷ (4.2086 − 1) = 1,683,440 ÷ 3.2086 ≈ 524,665원

첫 달 이자만 1억 × 0.004 = 40만 원이므로, 524,665원 가운데 원금을 갚는 데 쓰이는 돈은 약 12만 5천 원뿐입니다. 원금 상환액이 이자보다 커지는 것은 188회차, 즉 15년 8개월쯤부터입니다.

상환 기간을 바꾸면 어떻게 될까요? 같은 1억 원, 연 4.8%로 계산하면 다음과 같습니다.

상환 기간 매달 내는 돈 총이자
10년 약 105만 1천 원 약 2,611만 원
20년 약 64만 9천 원 약 5,575만 원
30년 약 52만 5천 원 약 8,888만 원
40년 약 46만 9천 원 약 1억 2,513만 원

기간을 30년에서 40년으로 늘리면 매달 부담은 약 5만 6천 원 줄지만, 총이자는 약 3,600만 원 늘어납니다. 40년이면 빌린 돈보다 이자가 더 많아집니다.

⑤ 대출과 적금은 같은 식을 거꾸로 본 것

④에서 세운 대출 식을 다시 보겠습니다.

1,000만 × 1.00512 = A × (1 + 1.005 + … + 1.00511)
  • 왼쪽: 빌린 1,000만 원이 12개월 동안 월 0.5% 복리로 불어난 값 ≈ 1,061만 6,778원
  • 오른쪽: 매달 A원을 월 0.5% 복리 적금에 넣었을 때 12개월 뒤 모이는 돈

실제로 A = 860,664원을 넣으면 오른쪽도 약 1,061만 7천 원이 되어 양쪽이 같아집니다. 즉 원리금균등상환이란 "빌린 돈이 불어나는 속도"와 "갚는 돈이 적금처럼 쌓이는 속도"를 똑같이 맞춘 것입니다. 시간이 돈이라는 전제가 대출, 예금, 적금을 하나의 식으로 묶어 줍니다.

상품 돈의 흐름 쓰이는 수학
정기예금 (단리) 목돈을 한 번에 맡김 등차수열 (매년 같은 이자)
정기예금 (복리) 목돈을 한 번에 맡김 등비수열 (매년 같은 비율)
적금 (단리) 매달 같은 돈을 맡김 등차수열의 합
적금 (복리) 매달 같은 돈을 맡김 등비수열의 합
대출 (원리금균등) 목돈을 빌리고 매달 같은 돈을 갚음 등비수열의 합

⑥ 탐구 보고서·세특 주제로 확장하는 방법

  • 공식 일반화: ④에서 한 달씩 따라간 과정을 P, i, n 문자로 다시 따라가며 공식을 직접 유도하고, 수학적 귀납법으로 "n개월 뒤 남은 빚" 식이 맞음을 증명하기
  • 금리 민감도: 금리가 0.5%p 오를 때 매달 내는 돈과 총이자가 얼마나 늘어나는지 표와 그래프로 분석하기
  • 중도 상환 효과: 5년 차에 1,000만 원을 미리 갚으면 남은 기간의 총이자가 얼마나 줄어드는지 계산하기
  • 연금과 비교: 매달 같은 돈을 받는 연금의 현재가치도 같은 등비수열의 합으로 구해지는 이유 설명하기
  • 예금과 적금 비교: 같은 금리에서 적금이 예금으로 치면 몇 %짜리인지 기간(6개월, 1년, 3년)별로 계산하고 규칙 찾기
  • 세금까지 고려하기: 이자소득세 15.4%와 비과세 상품을 비교해, 세후 수익률이 얼마나 달라지는지 분석하기

복리가 시간이 지나며 얼마나 불어나는지는 72의 법칙은 왜 성립할까?에서 자세히 다뤘습니다.

마무리

은행 앱이 알려 주는 "월 상환액"과 "만기 예상 금액"은 모두 한 달씩 이자가 붙는 과정을 등차수열과 등비수열로 정리한 결과입니다. 숫자 하나하나를 직접 따라가 보면, 기간과 금리, 그리고 돈을 넣는 방식이 우리 지갑에 어떤 차이를 만드는지 분명하게 보입니다.

※ 이 글은 수학적 원리를 설명하기 위한 글이며, 특정 금융 상품의 이용을 권유하지 않습니다. 실제 대출·예금·적금 조건은 금융기관마다 다릅니다.

박물관에서 "약 1만 년 전 유물"이라는 설명을 보면 궁금해집니다. 달력도 없던 시절의 물건인데, 그 나이를 어떻게 알아냈을까요? 그 답 가운데 하나가 탄소 연대 측정입니다. 이번 글에서는 이 방법을 고등학교 지수와 로그만으로 직접 계산해 보겠습니다.

주요단어: 탄소 연대 측정, 반감기, 탄소-14, 지수함수, 로그, 상용로그, 생활 속 수학

① 탄소-14는 어떻게 "시계"가 될까?

살아 있는 생물은 숨을 쉬고 음식을 먹으면서 몸속 탄소를 계속 바꿉니다. 탄소 가운데 아주 적은 양은 방사성을 띠는 탄소-14인데, 살아 있는 동안에는 몸속 탄소-14의 비율이 공기 중 비율과 거의 같게 유지됩니다.

그런데 생물이 죽으면 새 탄소가 더 들어오지 않습니다. 그때부터 몸속 탄소-14는 일정한 규칙으로 줄어들기만 합니다. 그 규칙이 바로 반감기입니다.

탄소-14의 반감기는 약 5,730년입니다. 즉 5,730년마다 남아 있는 양이 절반이 됩니다.

쉽게 이해하기 위해, 어떤 나무가 죽는 순간 몸속에 탄소-14 원자가 1,000개 있었다고 해 봅시다. (실제로는 훨씬 많지만, 비율은 똑같이 줄어듭니다.)

죽은 뒤 지난 시간 계산 남은 탄소-14 남은 비율
0년 1,000 1,000개 100%
5,730년 1,000 × 1/2 500개 50%
11,460년 1,000 × (1/2)2 250개 25%
17,190년 1,000 × (1/2)3 125개 12.5%

표를 보면 "5,730년이 몇 번 지났는지"가 (1/2)의 지수가 됩니다. 5,730년이 1번 지나면 (1/2)1, 2번 지나면 (1/2)2입니다. 그러니 t년이 지났다면 5,730년이 t ÷ 5,730 번 지난 것이고, 남은 비율은 다음과 같습니다.

남은 비율 = (1/2)t ÷ 5730

예를 들어 t = 11,460년이면 t ÷ 5730 = 2 이므로 (1/2)2 = 0.25, 즉 25%로 표와 같습니다.

② 거꾸로 풀기: 30%가 남은 유물은 몇 년 전 것일까?

실제 문제는 반대 방향입니다. 유물을 측정해 보니 탄소-14가 살아 있는 생물의 30%만 남아 있었다고 합시다. 이 유물은 몇 년 전 것일까요?

30%는 25%(11,460년)보다 조금 많으니, 답은 11,460년보다 조금 적을 것이라고 먼저 짐작할 수 있습니다. 이제 정확히 계산해 봅시다. 풀어야 할 식은

(1/2)t ÷ 5730 = 0.3

입니다. 지수에 있는 t를 꺼내려면 로그가 필요합니다. 한 단계씩 풀어 보겠습니다.

  1. 지수를 간단히 씁니다. t ÷ 5730 을 x라고 두면   (1/2)x = 0.3
  2. 양변에 상용로그를 취합니다.   log (1/2)x = log 0.3
  3. 로그의 성질 log an = n·log a 로 x를 앞으로 꺼냅니다.   x × log(1/2) = log 0.3
  4. 각 로그 값을 구합니다.
    • log(1/2) = log 1 − log 2 = 0 − 0.3010 = −0.3010
    • log 0.3 = log (3 ÷ 10) = log 3 − log 10 = 0.4771 − 1 = −0.5229
  5. x를 구합니다.   x = (−0.5229) ÷ (−0.3010) ≈ 1.737
  6. t로 되돌립니다. x = t ÷ 5730 이므로   t = 5730 × 1.737 ≈ 9,953년

짐작대로 11,460년보다 조금 적은, 약 1만 년 전 유물이라는 결론이 나옵니다.

정말 맞는지 확인해 봅시다. x = 1.737 을 다시 넣으면 (1/2)1.737 = 1 ÷ 21.737 이고, 21.737 ≈ 3.33 이므로 1 ÷ 3.33 ≈ 0.300, 즉 30%가 정확히 나옵니다.

③ 같은 방법으로 몇 가지 더 계산해 보기

위 과정을 정리하면 어떤 비율 p가 남았을 때의 나이는

t = 5730 × log p ÷ log(1/2)

입니다. 여러 비율에 넣어 보면 다음과 같습니다.

남은 비율 p log p 추정 나이
80% −0.0969 약 1,845년
52.7% −0.2782 약 5,300년
30% −0.5229 약 9,953년
12.5% −0.9031 17,190년

52.7%가 남은 경우 약 5,300년이 나오는데, 1991년 알프스 빙하에서 발견된 "아이스맨 외치"가 이 정도 연대의 인물로 알려져 있습니다.

④ 로그를 취하면 왜 직선이 될까?

그림 1의 곡선은 처음에 빠르게, 나중에는 천천히 줄어듭니다. 그런데 남은 비율에 로그를 취해 다시 그리면 곡선이 직선으로 바뀝니다.

이유는 ②의 3단계에 있습니다. log (1/2)x = x × log(1/2) = −0.3010 × x 이므로, 로그 값은 x(= t ÷ 5730)에 정비례합니다. 실제로 5,730년마다 로그 값이 −0.301, −0.602, −0.903으로 0.301씩 똑같이 줄어듭니다.

과학자들이 반감기를 실험으로 구할 때도 이 성질을 씁니다. 측정값에 로그를 취해 직선을 그리고, 그 기울기로 반감기를 알아내는 것이지요.

⑤ 측정이 1%만 틀려도 나이는 얼마나 달라질까?

측정에는 늘 오차가 있습니다. 30%라고 잰 값이 실제로는 29%나 31%였다면 어떻게 될까요? ③의 식에 넣어 보면

  • 29%라면 약 10,233년
  • 30%라면 약 9,953년
  • 31%라면 약 9,682년

남은 비율이 1%p만 달라져도 추정 나이가 약 280년씩 달라집니다. 그래서 탄소 연대 측정 결과는 보통 "9,950 ± 300년"처럼 범위로 발표합니다. 또 실제 측정에서는 옛날 공기 중 탄소-14 비율이 지금과 조금 달랐던 점을 보정하는 과정도 거칩니다.

⑥ 탐구 보고서·세특 주제로 확장하는 방법

  • 오차 분석: 남은 비율이 10%, 50%, 90%일 때 각각 1%p 오차가 나이를 얼마나 바꾸는지 계산하고, 오래된 유물일수록 오차가 커지는 이유를 설명하기
  • 측정 한계 찾기: 남은 비율이 1% 이하가 되면 측정이 어렵다고 할 때, 탄소 연대 측정으로 잴 수 있는 최대 나이 구하기
  • 다른 반감기와 비교: 의료용 방사성 물질이나 약물의 체내 반감기처럼, 같은 지수·로그 모델이 쓰이는 다른 예 찾아 계산하기
  • 그래프로 확인: 엑셀로 시간에 따른 남은 비율과 그 로그 값을 각각 그려, 곡선이 직선으로 바뀌는 모습 직접 확인하기

지수로 늘어나는 경우가 궁금하다면 72의 법칙은 왜 성립할까?를, 로그가 우리 감각과 어떻게 이어지는지 궁금하다면 로그를 활용한 베버-페히너 법칙 탐구를 함께 읽어 보세요.

마무리

탄소 연대 측정은 "일정한 시간마다 절반이 된다"는 단순한 규칙에서 출발합니다. 그 규칙을 지수로 쓰고, 로그로 거꾸로 풀면 1만 년 전 유물의 나이까지 계산할 수 있습니다. 교과서의 지수·로그가 실제 과학에서 어떻게 쓰이는지 보여 주는 좋은 탐구 주제입니다.

은행이나 증권사 광고에서 "연 8%면 9년 만에 두 배"라는 말을 본 적이 있을 겁니다. 이 계산 뒤에는 72의 법칙이라는 간단한 공식이 있습니다. 이번 글에서는 이 공식이 왜 성립하는지 고등학교 지수·로그로 직접 확인해 보고, 탐구 보고서나 세특 주제로 확장하는 방법까지 정리해 보겠습니다.

주요단어: 72의 법칙, 복리, 경제, 경제 수학, 지수함수, 로그함수, 근사, 생활 속 수학

① 72의 법칙이란?

연 이율이 R%인 복리 상품에 돈을 넣었을 때, 원금이 두 배가 되는 데 걸리는 기간(년)은 대략 다음과 같습니다.

원금이 두 배가 되는 기간 ≈ 72 ÷ R

예를 들어 연 6%라면 72 ÷ 6 = 12년, 연 8%라면 72 ÷ 8 = 9년입니다. 계산기 없이 암산할 수 있다는 것이 이 법칙의 가장 큰 장점입니다.

② 정확한 식부터 세워 보자 (지수·로그)

100만 원을 연 8% 복리로 맡겼다고 해 봅시다. 1년 뒤에는 원금에 이자 8%가 붙습니다.

1년 뒤: 100만 + (100만 × 0.08) = 100만 + 8만 = 108만 원

이 식은 100만 × (1 + 0.08) = 100만 × 1.08 과 같습니다. 1년이 지날 때마다 금액에 1.08을 곱하는 셈입니다. 복리는 이자에도 이자가 붙으므로, 2년 뒤에는 108만 원에 다시 1.08을 곱합니다.

2년 뒤: 108만 + (108만 × 0.08) = 108만 + 8만 6,400 = 116만 6,400원 = 100만 × 1.082
3년 뒤: 100만 × 1.083 = 125만 9,712원
t년 뒤: 100만 × 1.08t

원금이 두 배, 즉 200만 원이 되는 순간을 찾으려면 100만 × 1.08t = 200만, 양변을 100만으로 나누면

1.08t = 2

를 풀면 됩니다. 원금이 100만 원이든 1,000만 원이든 양변에서 나누어 사라지므로, 두 배가 되는 기간은 원금과 상관없이 금리만으로 정해집니다.

이제 1.08t = 2 를 한 단계씩 풀어 보겠습니다.

  1. 양변에 상용로그를 취합니다.   log 1.08t = log 2
  2. 로그의 성질 log an = n·log a 를 이용해 지수 t를 앞으로 꺼냅니다.   t × log 1.08 = log 2
  3. 양변을 log 1.08로 나눕니다.   t = log 2 ÷ log 1.08
  4. 값을 넣어 계산합니다. 상용로그표(또는 계산기)에서 log 2 ≈ 0.3010, log 1.08 ≈ 0.0334 이므로   t ≈ 0.3010 ÷ 0.0334 ≈ 9.01년

정말 9년쯤 지나면 두 배가 되는지 직접 확인해 봅시다. 100만 × 1.089 ≈ 199만 9,005원으로 200만 원에 아주 조금 못 미치고, 100만 × 1.0810 ≈ 215만 8,925원으로 200만 원을 넘습니다. 그러니 두 배가 되는 시점은 9년을 아주 조금 넘긴 때이고, 계산 결과 9.01년과 딱 맞습니다. 72의 법칙으로 계산한 72 ÷ 8 = 9년과도 거의 같습니다.

같은 과정을 연 이율 r(8%면 r = 0.08)에 대해 일반화하면 (1 + r)t = 2 에서

t = log 2 ÷ log(1 + r)

이 되고, 이것이 두 배가 되는 기간의 정확한 값입니다.

하지만 log 1.08 같은 값은 상용로그표나 계산기 없이는 구하기 어렵습니다. 그래서 "금리만 알면 바로 계산되는" 간단한 규칙이 필요합니다.

③ 금리 × 기간은 거의 일정하다

여러 금리에 대해 정확한 기간 t를 계산하고, 금리 R(%)과 곱해 보겠습니다.

연 이율 R(%) 정확한 기간 t(년)
log2 ÷ log(1+r)
R × t
1 69.66 69.7
2 35.00 70.0
4 17.67 70.7
6 11.90 71.4
8 9.01 72.1
10 7.27 72.7
12 6.12 73.4

금리가 1%에서 12%로 열 배 넘게 바뀌는 동안, R × t는 약 70에서 73 사이에 머뭅니다. 즉 R × t ≈ (거의 일정한 수)이고, 이것을 t에 대해 정리하면 t ≈ (일정한 수) ÷ R이라는 규칙이 나옵니다. 72의 법칙의 정체가 바로 이것입니다.

표를 자세히 보면 R × t는 금리가 커질수록 조금씩 커집니다. 그래서 하나의 수로 모든 금리를 완벽하게 맞출 수는 없고, 어느 금리 구간에 맞출지를 정해야 합니다.

④ 그런데 왜 하필 72일까?

우선 현실의 금리 구간에서 가장 정확합니다. 표에서 R × t는 R = 8%일 때 72.1로, 72와 거의 같습니다. 예금, 대출, 주식의 장기 수익률처럼 사람들이 흔히 따지는 5~10% 구간에서 72가 가장 오차가 작습니다.

연 이율 R(%) 정확한 값 70 ÷ R 72 ÷ R
2 35.00 35.00 36.00
4 17.67 17.50 18.00
6 11.90 11.67 12.00
8 9.01 8.75 9.00
10 7.27 7.00 7.20
12 6.12 5.83 6.00

게다가 나눗셈이 편리합니다. 72는 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72로 나누어떨어지는 약수가 많은 수입니다. 71이나 73으로는 암산이 거의 불가능하지만, 72는 대부분의 금리로 깔끔하게 나누어집니다.

정리하면, 금리가 낮을 때(2% 안팎)는 70의 법칙, 5~12% 구간에서는 72의 법칙이 더 잘 맞습니다.

⑤ 생활 속으로 확장해 보기

물가가 오르면 돈의 가치는 언제 반이 될까?

물가 상승률이 연 2%라면 물가가 두 배가 되는 데 약 72 ÷ 2 = 36년(정확히는 35년)이 걸립니다. 같은 돈으로 살 수 있는 물건이 절반이 된다는 뜻이니, 현금의 실질 가치가 반으로 줄어드는 기간이기도 합니다.

세 배가 되는 기간은? (114의 법칙)

같은 방법으로 (1 + r)t = 3 을 풀면 t = log 3 ÷ log(1 + r) 입니다. 이번에도 R × t를 계산해 보면 4%에서 112.0, 6%에서 113.1, 8%에서 114.2, 10%에서 115.3으로 거의 일정합니다. 그래서 세 배가 되는 기간 ≈ 114 ÷ R이라는 규칙을 만들 수 있습니다. 연 8%라면 114 ÷ 8 ≈ 14.25년, 정확한 값은 14.27년입니다.

⑥ 탐구 보고서·세특 주제로 확장하는 방법

이 주제는 지수방정식과 로그를 실제 경제 문제에 적용하기 때문에 탐구 주제로 활용하기 좋습니다. 아래처럼 확장해 볼 수 있습니다.

  • 오차 분석: 엑셀이나 파이썬으로 R = 1~30%에 대해 정확한 값과 70, 72 법칙의 오차를 그래프로 그리고, 각 규칙이 가장 정확한 구간을 찾아보기
  • 나만의 규칙 만들기: 금리 구간별로 오차를 최소로 만드는 수를 직접 구해 보고, 4배가 되는 기간(144의 법칙)도 같은 방법으로 확인하기
  • 이자 붙는 횟수 바꾸기: 연 1회 복리, 월 복리, 일 복리로 바꿀 때 두 배가 되는 기간이 어떻게 줄어드는지 비교하기
  • 다른 분야 적용: 인구 증가율, 바이러스 증식, 방사성 동위원소의 반감기처럼 "두 배" 또는 "절반"이 되는 기간을 구하는 문제로 연결하기

로그가 우리 감각과 어떻게 연결되는지 궁금하다면 이전 글 로그를 활용한 베버-페히너 법칙 탐구도 함께 읽어 보세요.

마무리

72의 법칙은 단순한 암산 요령처럼 보이지만, 그 안에는 지수방정식, 로그, 근사와 오차라는 고등학교 수학의 핵심이 들어 있습니다. 숫자 하나를 왜 그렇게 정했는지 따져 보는 것만으로도 훌륭한 경제 수학 탐구가 됩니다.

※ 이 글은 수학적 원리를 설명하기 위한 글이며, 특정 금융 상품의 투자 권유가 아닙니다.

코코(Coco) - 2017

 

스토리와 약간의 반전이 예상이 가지만 눈물이 나오는 영화.

사람은 무엇으로 살며, 어떻게 살아야 할지에 대한 고민을 던져준 영화라 생각된다.

물론 양 극단은 무엇이든 옳지 않다.

거짓되게 모두에게 기억되는 삶.

진실되게 아무에게도 기억되지 않는 삶.

 

나를 사랑하는 사람이 살아 있는 동안 날 기억해 주기를.

 

그리고 우리의 삶 뒤에 행복한 모두를 만날 수 있기를.

라이온 킹(Lion King) - 1994 재시청

src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" data-ad-client="ca-pub-9380303255633014">

 

멋진 초원의 영상미와 OST는 지금 봐도 멋지다.

아마 몇 년 후에 다시 봐도 영상미와 OST는 좋은 평가를 받을 것이라 생각한다.

이런 것을 보면 고전 또는 명작이라 불리며 몇 백년 이상 가치를 인정받는 작품의 가치에 대해 다시 한 번 생각하게 된다.

 

지금 보니 스토리는 약간 구 시대적인 부분이 많이 남아 있다는 생각이 들었다.

왕위를 물려 받는다는 점, 정의와 악의 극명한 대립, 부모의 것을 그대로 가지고 태어나는 자식 등등

하지만 이야기의 배경이 동물의 왕국이니 오히려 저러한 구시대 적인 배경이 더 적합할 것이라 생각한다.

 

주토피아 같은 세상이 오히려 더 힘든 것 아닐까?

 

아이와 함께 봤는데 아이도 오랜 시간 기억이 나는 것 같다. 몇 일이 지난 시간에도 가끔 라이온 킹 이야기를 하는 것을 보면.

 

+ Recent posts