【図でスッキリ理解】三角数列ってなに?なぜ三角?意外な使い道までやさしく解説!
「三角数列って、なんで“三角”なの?」
ふとそんな疑問がわいたんです。
学校で習った記憶はあるけど、詳しくは覚えてない…なんて人、多いですよね。
でも、これがけっこう奥が深くて、数学的にも、プログラム的にも、見た目にも面白い数列なんです。
三角数列ってなに?
まずはこの数字の並びを見てください。
1, 3, 6, 10, 15, 21, 28, 36, …
これ、すべて「1から順に足した合計」なんです。
- 1 = 1
- 3 = 1 + 2
- 6 = 1 + 2 + 3
- 10 = 1 + 2 + 3 + 4
- 15 = 1 + 2 + 3 + 4 + 5
- …
つまり、「n番目までの合計」を並べた数列。
これが「三角数列」です。
なぜ“三角”なの?
ここがこの数列の最大のポイント。
言葉じゃわかりにくいので、図っぽく並べてみましょう。
● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
ね? 点を並べると正三角形みたいな形になるんです。
これが「三角数列」と呼ばれる理由。
英語でも Triangular Number(トライアングラー・ナンバー)といいます。
数学って、こういう「形」に意味があることが多いんですよね。
数字がただの記号じゃなくて、見た目としても法則を持ってるって、ちょっとワクワクしませんか?
三角数列の公式
三角数にはちゃんとした計算式もあります。
n番目の三角数 = n(n+1)/2
たとえば「5番目の三角数」は、
5 × (5+1) ÷ 2 = 15
これはつまり、「1〜nまでの合計」を求める公式でもあるんです。
この式は、昔ガウス少年が小学生のときに、先生から「1~100まで足して」と言われて一瞬で答えを出した話で有名ですよね。
普通なら1から100まで一個ずつ足していくところを、
彼はこう考えました。
1 + 100 = 101
2 + 99 = 101
3 + 98 = 101
…
これを50組作れば、
→ 101 × 50 = 5050
この考え方、まさに三角数の公式と同じなんです。
この数が三角数かどうか、判定できる?
「この数、三角数かな?」というときは、次の式でチェックできます。
n(n+1)/2 = x
を満たすnが整数かどうか
逆に解いてみると、
n = [-1 ± √(1 + 8x)] / 2
√の中がきれいな整数になれば、xは三角数ということ。
ちょっとした数学クイズにもなりそうですね。
三角数列はプログラムでも使える
じつはこの数列、コンピュータの中でもちゃんと使われてるんです。
✅ 上三角行列のインデックス変換
たとえば、2次元のデータ(行列)で、上半分だけを保存したいとき。
三角数の考え方を使えば、1次元配列にうまく変換できます。
ある行i・列j(ただしi ≥ j)にある要素は、こうやって1次元化できます:
index = i × (i + 1) / 2 + j
これにより、余計なメモリを使わずにデータを格納できます。
昔のゲームや計算プログラムでも使われていました。
✅ 計算を高速化(O(n) → O(1))
繰り返し処理(ループ)で「1~nの合計」を求めるとき、
ループを回すとO(n)の処理時間がかかります。
でも、三角数の公式 n(n+1)/2
を使えば一発!
時間はO(1)。桁違いに速いです。
だから、三角数は計算の高速化にも役立ちます。
身近なところでも使われてる?
実は、三角数はゲームやスコア計算、パズルの世界でも活躍してます。
- パズルの「1→2→3→…」を並べるゲーム
- RPGの経験値の計算式
- ポイント制度や等差成長型の設計
「1→3→6→10…」みたいに、だんだん増え方が増える設計にぴったりなんです。
まとめ
三角数列は「形が三角に見える」からそう呼ばれてるだけじゃなくて、
数学的にも、プログラム的にも、いろんな使い道がある数列です。
見た目がキレイで、式もシンプル。
そして、ちょっと知ってるだけで役立つ。
ただの数字の並びと思わず、ちょっとした知的おもちゃとして楽しんでみてください。