高校数学の数列の復習的なやつ

春から『計算の科学と手引き』という授業を取るので数学の復習しようと思い購入した『東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!』という本が面白いので自分なりに消化しとこうと思ってノートを取ることにしました。

数列(Progression)

数列とは、規則的に並べられた数字のことで、数列の最初の数字のことを「初項」、最後の数字のことを「末項」と呼ぶ。
規則的な差で並べられた数列を「等差数列」、規則的な比で並べられた数列を「等比数列」といい、詳細は以下でまとめていきます。

等差数列(Arithmetic Progression)

増やす際の「差」が同じパターンの数列を等差数列という。
1 から 10 まで 1 ずつ増加する数列などのこと

等差数列の合計の求め方

ガウス先生が小学校に通っていた時に見つけていた方法。ひっくり返して合計して2で割る。

$$ \begin{array}{r} 1, 2, 3, 4, 5, 6 & ←元の数列 Aとする \\ 6, 5, 4, 3, 2, 1 & ←ひっくり返した数列 Bとする \\ 7, 7, 7, 7, 7, 7 & ←A+Bの合計 これを合算して2で割る \end{array} $$

7 が 6 個ある数列になる。ひっくり返して合計した値は 42 で、2 で割ると 21 なので答えは 21 になる

ここまでを式にする

$$ \begin{array}{r} 1+2+3+4+5+6& \\ +\big{)}\phantom{0}6+5+4+3+2+1& \\ \hline 7+7+7+7+7+7& \\ \\ 7\times6\div2=21& \end{array} $$

奇数で作られた $ 3, 5, 7, 9, 11, 13 $ の数列の場合

$$ \begin{array}{r} 3+\phantom{0}5+\phantom{0}7+\phantom{0}9+11+13& \\ +\big{)}\phantom{0}13+11+\phantom{0}9+\phantom{0}7+\phantom{0}5+\phantom{0}3& \\ \hline 16+16+16+16+16+16& \\ \\ 16\times6\div2=48& \end{array} $$

これを公式にすると以下のようになる
$ n $ は項数、$ a $ は初項 $ l $ は末項

$$ \frac{n(a+l)}{2} $$

いちおうコードで書いとく

等差数列のn番目の値の求め方

初項が $ 3 $ で、「差」(公差という)が $ 2 $で末項が $ 13 $ の数列で考える。

$$ \overset{\rm 1番目}{3},\overset{\rm 2番目}{5},\overset{\rm 3番目}{7},\overset{\rm 4番目}{9},\overset{\rm 5番目}{11},\overset{\rm 6番目}{13} $$

初項 3 に公差 2 を 5 回追加したのが上の数列。
上記から、初項に公差を 5 回追加すると 6 番目の値ができる事がわかる。
つまり、初項に公差を $ n-1 $ 回追加する(公差掛ける n-1 する)と $ n $ 番目の値ができる。

実際に計算する

$$ \begin{split} 3 + 2 \times (6 - 1) &= 3 + 2 \times 5 \\ &= 3 + 10 \\ &= 13 \\ \end{split} $$

公式にすると以下のようになる。これは等差数列の一般項の求め方という。

$$ a + d \times (n - 1) $$

$ n $ は項数(例では6)、$ a $ は初項(例では3)$ d $ は公差(例では2)

コードにするとこうなる

等差数列の和の公式

ちなみに $ a + d \times (n - 1) $ は末項の値なので、等差数列の公式 $ \frac{n(a+l)}{2} $ の $ l $ に入れられる。代入して変形すると「等差数列の和の公式」というものになる。

$$ \frac{n(a+(a + d \times (n - 1)))}{2} = \frac{n\{2a + d(n - 1)\}}{2} $$

公式は全然記憶できないけど「ひっくり返して合計して2で割る」と、「等差数列の一般項の求め方の考え方」は覚えられた(はず)


等比数列(Geometric Progression)

増やす際の「比」が同じパターンの数列を等比数列という。
$ 1, 2, 4, 8, 16 $ のように倍で増加する数列などのこと

等比数列の合計の求め方

等比数列の合計は、方程式にしてからその方程式を「比」(公比という)で両辺を掛けて、元の方程式との連立方程式にして解く。 最初の例をもとに説明すると次のようになる

$$ \begin{array}{rr} S &=& 1 + 2 + 4 + 8 + 16\phantom{0}&← &元の数列の方程式Aとする \\ 2S &=& 2 + 4 + 8 + 16 + 32\phantom{0}&← &公比で両辺を掛けた方程式Bとする \end{array} $$

$ B - A $ の連立方程式にして計算する

$$ \begin{array}{rr} 2S&=&\phantom{0}&\phantom{0}2+4+8+16&+32\\ -\big{)}\phantom{0}\phantom{0}S&=&1&+2+4+8+16&\phantom{0} \\ \hline S&=&-1&\phantom{0}&+32 \\ &=&31 \\ \end{array} $$

次は数列 $ 3, 9, 27, 81, 243 $ の合計

$$ \begin{array}{rr} 3S&=&\phantom{0}&\phantom{0}9+27+81+243&+729\\ -\big{)}\phantom{0}\phantom{0}S&=&3&+9+27+81+243&\phantom{0} \\ \hline 2S&=&-3&\phantom{0}&+729 \\ &=&726 \\ S&=&\frac{726}{2} \\ &=&363 \\ \end{array} $$

次の式は連立方程式の計算式をまとめたもの。
末項掛ける公比マイナス初項(上記の右辺の式)を、公比マイナス$ 1 $した値(上記の左辺)で割ったもの

$$ \frac{l \times r - a}{r -1} $$

等比数列のn番目の値の求め方

等比数列の末項の値が不明で項数がわかっている場合は、次の方法で等比数列のn番目の値を求めて和を求める。
初項が $ 1 $ で、公比が $ 2 $で、末項が $ 32 $ の数列で考える。

$$ \overset{\rm 1番目}{1},\overset{\rm 2番目}{2},\overset{\rm 3番目}{4},\overset{\rm 4番目}{8},\overset{\rm 5番目}{16},\overset{\rm 6番目}{32} $$

初項 1 に公比 2 を 5 回掛けたのが上の数列。
上記から、初項に公比を 5 回掛けると 6 番目の値ができる事がわかる。
つまり、初項に公比を $ n-1 $ 回掛けると $ n $ 番目の値ができる(初項掛ける公比のn-1乗)

実際に計算する

$$ \begin{split} 1 \times 2^{6 - 1} &= 1 \times 2^5 \\ &= 1 \times 2 \times 2 \times 2 \times 2 \times 2 \\ &= 1 \times 32 \\ &= 32 \end{split} $$

公式にすると以下のようになる。これは等比数列の一般項の求め方という。

$$ a \times r^{n-1} $$

$ a $ は初項、$ r $ は公比、$ n $ は項数

指数のところが分かりづらいので型変換を省略すると、math.Pow(r, n-1) が $ r^{n-1} $ と対応しているのが分かる。

等比数列の $ n $ 番目の値の求め方を使えば、末項の値が求められるので、
公比で両辺を掛けて連立方程式を作って計算する方法で、等比数列の和を求めることができる。

例えば、初項が 3、公比が 3、項数が 5 の等比数列の合計を求める場合

まずは末項の値を求める

$$ \begin{split} 3 \times 3^{5-1} &= 3 \times 3^4 \\ &= 3 \times 81 \\ &= 243 \end{split} $$

末項が 243 であることがわかったので方程式を作る

$$ \begin{array}{rr} S &=& 3+9+\cdots+243\phantom{0}&← &元の数列の方程式Aとする \\ 3S &=& 9+\cdots+243+729\phantom{0}&← &公比で両辺を掛けた方程式Bとする \end{array} $$

B - A を計算する

$$ \begin{array}{rr} 3S&=&\phantom{0}&\phantom{0}9+\cdots+243&+729\\ -\big{)}\phantom{0}\phantom{0}S&=&3&+9+\cdots+243&\phantom{0} \\ \hline 2S&=&-3&\phantom{0}&+729 \\ &=&726 \\ S&=&\frac{726}{2} \\ &=&363 \\ \end{array} $$

上記を Go で書くとこんな感じになる

a := 3
r := 3
n := 5
l := a * int(math.Pow(float64(r), float64(n-1)))
fmt.Printf("初項 %v, 公比 %v%v つ目の値は %v\n", a, r, n, l)

ans := (r*l - a) / (r - 1)
fmt.Printf("初項 %d, 公比 %d, 末項 %d の数列の和は %d\n", a, r, l, ans)

// 出力結果
// 初項 3, 公比 3 の 5 つ目の値は 243
// 初項 3, 公比 3, 末項 243 の数列の和は 363

ちなみに等比数列の和の公式はこちら

$$ S = \frac{(r^n-1)a}{r-1} $$

さっきの数列、初項が 3、公比が 3、項数が 5 で計算してみる

$$ \begin{split} S &= \frac{(3^5-1) \times 3}{3-1} \\ &= \frac{(243-1) \times 3}{2} \\ &= \frac{242 \times 3}{2} \\ &= \frac{726}{2} \\ &= 363 \end{split} $$

公比で両辺を掛けて連立方程式を作って計算する方法で同じになることが確認できた。
等差数列と同じく公式は暗記できてないけど、考え方は理解した。

順列と組み合わせ、標準偏差(ばらつき)は別途まとめようかな。


参考文献

  1. 西成 活裕『東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!』2020年6月