【そろけん塾コラム_13】指数関数的成長の驚異!あなたの世界はこうして激変する

1が2に、2が4に、4が8に…気づいた時にはもう手遅れ!?

こんにちは、そろけん塾です。

 

これは、指数関数的成長の恐ろしさを示す典型的なパターンです。

この記事では、バイラル動画の拡散、パンデミックの広がり、貯金の増え方 など、身近な例とともに指数関数的成長をわかりやすく解説し、子供たちが学びながら楽しめる実践方法も紹介します。

こんな疑問はありませんか?

✔ 「SNSで一部の動画だけが爆発的に流行るのはなぜ?」

✔ 「なぜウイルスは短期間で広がってしまうの?」

✔ 「お金が増える仕組みを子供にわかりやすく教えたい!」

 

こうした疑問の答えが、「指数関数的成長」に隠されています!

指数関数的成長とは?

指数関数的成長とは、ある量が一定の割合で増え続けること です。

例えば、

  • 1日目:1匹のバクテリア
  • 2日目:2匹
  • 3日目:4匹
  • 4日目:8匹

と増えていく場合、これは 指数関数的に増加 していると言えます。

一般的な計算式は以下のようになります。

ここで、

この仕組みを理解すると、さまざまな現象を説明できます!

指数関数的成長の応用例

この法則は、身の回りの現象にも見られます。

1. バイラル動画の拡散

TikTokやYouTubeで、ある動画が急に大ヒットする現象 は、まさに指数関数的成長の例です。

例えば:

  1. 1人が動画を視聴し、2人に共有する。
  2. その2人がさらに2人ずつに共有する(合計4人)。
  3. その4人がさらにそれぞれ2人ずつに共有する(合計8人)。

このように、わずか数回の拡散で何万人もの視聴者に届く ことも珍しくありません。

2. パンデミックの広がり

感染症の広がりも指数関数的成長の一例です。

  • 1人の感染者が1日に2人に感染させる。
  • その2人がさらに2人ずつに感染を広げる。
  • 10日後には 1024人に感染!

だからこそ、早めの対策が重要 なのです。

3. 貯金の増え方(複利の魔法)

「貯金がなかなか増えない…」と思っている人も、複利を味方にすれば指数関数的成長が期待できます!

例えば、

  • 毎月1万円を年利5%で貯めると…
  • 10年後には 約162万円
  • 20年後には 約412万円

時間が経つほど、増え方が加速していきます。

このように、指数関数的成長は 数学だけでなく、科学や経済、日常生活にも深く関係している ことがわかります。

 

5分でできる数学体験:「指数関数的成長」を体感しよう!

指数関数的成長とは、数が倍々に増えていくような急激な増加を示す現象です。この成長の仕組みを体感するために、身近なものを使った簡単な実験をしてみましょう。

実験:「紙を折るとどれくらいの厚さになる?」

準備するもの

  • A4サイズの紙1枚

実験方法

  1. A4の紙を用意し、半分に折ります。
  2. さらにもう一度折ります。
  3. 可能な限り折り続けて、何回折れるか試してみましょう。
  4. 最後に、その厚さがどれくらいになったのか計算してみます。

解説

紙を折るたびに、厚さは 2倍 になります。つまり、紙の元の厚さを t とすると、n回折った後の厚さは次のように表せます。

Tn=t× 2^n

例えば、A4のコピー用紙の厚さを 0.1mm(0.0001m) と仮定すると、次のように増えていきます。

折る回数 (n) 厚さ
1回 0.2mm 髪の毛の太さ程度
5回 3.2mm コインの厚さ
10回 10.24cm 手のひらの幅くらい
20回 104m 東京タワーより高い
30回 107km 成層圏に到達
42回 約439,804km 月に届く!

結論:紙を42回折ると、なんと月まで届く厚さになる!


実際には7回くらいまでしか折れませんが(笑)、、指数関数的成長の驚異的なスピード を実感できます。

まとめ

  • 紙を折るごとに指数関数的に厚さが増加する ことを体験できる。
  • 42回折ると月まで届く厚さになるという驚きの事実!
  • この成長の仕組みは、細菌の増殖やSNSの拡散など、身近な現象にも見られる。

このような実験を通じて、子どもに「指数関数的成長」のすごさを楽しく学んでもらいましょう!

関連記事

子供のためのオンライン教室紹介(厳選10教室)     こんにちは、そろけん塾です。 今回は子供のためのオンライン教室の紹介です。   日本中にいろいろな学習塾や教室があ[…]

最新情報をチェックしよう!

document.addEventListener("DOMContentLoaded", function () { let digit = 1; let count = 5; let speed = 1000; let numbers = []; let sum = 0; let currentIndex = 0; let interval; const canvas = document.getElementById("flash-canvas"); const ctx = canvas.getContext("2d"); function updateDisplay() { document.getElementById("digit-display").textContent = digit; document.getElementById("count-display").textContent = count; document.getElementById("speed-display").textContent = speed + "ms"; } document.getElementById("digit-slider").addEventListener("input", function () { digit = parseInt(this.value); updateDisplay(); }); document.getElementById("count-slider").addEventListener("input", function () { count = parseInt(this.value); updateDisplay(); }); document.getElementById("speed-slider").addEventListener("input", function () { speed = parseInt(this.value); updateDisplay(); }); function drawNumber(number) { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.font = "50px Arial"; ctx.fillStyle = "white"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; ctx.fillText(number, canvas.width / 2, canvas.height / 2); } document.getElementById("start-button").addEventListener("click", function () { numbers = []; sum = 0; currentIndex = 0; document.getElementById("result-message").textContent = ""; document.getElementById("answer-input").value = ""; for (let i = 0; i < count; i++) { let num = Math.floor(Math.random() * (10 ** digit)); numbers.push(num); sum += num; } function showNextNumber() { if (currentIndex < numbers.length) { drawNumber(numbers[currentIndex]); currentIndex++; interval = setTimeout(showNextNumber, speed); } else { ctx.clearRect(0, 0, canvas.width, canvas.height); document.getElementById("question-area").textContent = "答えを入力してください"; } } showNextNumber(); }); document.getElementById("check-answer").addEventListener("click", function () { let userAnswer = parseInt(document.getElementById("answer-input").value, 10); if (userAnswer === sum) { document.getElementById("result-message").textContent = "正解!🎉"; document.getElementById("result-message").style.color = "green"; } else { document.getElementById("result-message").textContent = "不正解 😢 正解は " + sum; document.getElementById("result-message").style.color = "red"; } }); updateDisplay(); }); #flash-canvas { background-color: black; border-radius: 10px; display: block; margin: 10px auto; } input[type="range"] { width: 100%; } button { background-color: #008CBA; color: white; padding: 10px; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #005f73; }