回 1-2 分野 1 数と式
漸化式は、
読み終えたら二重ループの
この頁の流れ
Σ と
64 枚の ハノイの 塔は、 何手で 動かせるのか
ハノイの
n 枚を
a(n) = 2a(n−1) + 1、
プログラムでは、漸化式はループや再帰の 1 歩その
数列、 一般項、Σ とは
言葉を 5 つそろえます。
| 言葉 | 意味 | 例 |
|---|---|---|
| 数列 | 数を | 1, 3, 7, 15, 31 |
| 項 | 数列の | a(3) = 7 |
| 一般項 | a(n) を | a(n) = 2^n − 1 |
| 漸化式 | a(n) を | a(n) = 2a(n−1) + 1 |
| Σ (シグマ) | 決まった | Σ k (k = 1〜n) |
漸化式だけでは
Σ の読み方
Σ k (k = 1〜n) は、
sum(k for k in range(1, n + 1))
Σ の
よく 使う和の公式
| 和 | 公式 | n = 10 の値 |
|---|---|---|
| Σ c (k = 1〜n)、 | c × n | c が |
| Σ k (k = 1〜n) | n(n + 1) / 2 | 55 |
| Σ k² (k = 1〜n) | n(n + 1)(2n + 1) / 6 | 385 |
| Σ k³ (k = 1〜n) | (n(n + 1) / 2)² | 3025 |
| Σ r^k (k = 0〜n−1)、 | (r^n − 1) / (r − 1) | r が |
1 から
漸化式の 型と解き方
教科書に
| 型 | 形 | 解き方 | 例の一般項 |
|---|---|---|---|
| 等差 | a(n+1) = a(n) + d | 毎回 | a(1) = 2、 |
| 等比 | a(n+1) = r a(n) | 毎回 r 倍 | a(1) = 3、 |
| 階差 | a(n+1) = a(n) + f(n) | f を | a(1) = 1、 |
| 1 次 | a(n+1) = p a(n) + q | 動かない | ハノイの |
| 指数を含む | a(n+1) = p a(n) + q^(n+1) | 両辺を | a(1) = 2、 |
| n の式を足す | a(n+1) = p a(n) + f(n) | f と | a(1) = 1、 |
| 係数に n | a(n+1) = (n+1) a(n) | 掛ける | a(1) = 1 なら n! |
| 対数を取る | a(n+1) = a(n)² | log を | a(1) = 2 なら |
| 3 項間 | a(n+2) = a(n+1) + a(n) | x² = x + 1 の | フィボナッチ数 |
| 3 項間 (重解) | a(n+2) = 4a(n+1) − 4a(n) | x² = 4x − 4 の | a(1) = 2、 |
| 和を含む | S(n) = (n の式) | a(n) = S(n) − S(n−1)、 | S(n) = n² なら |
| 分数 | a(n+1) = a(n) / (a(n) + 1) | 逆数を | a(1) = 1 なら 1/n |
| 連立 | a と | 足したり引いたりして | 下の例 |
どの
- 前の
項だけで 決まるか、2 つ前まで 使うか ( 使うなら 3 項間) - S(n) が
出てくるか (出てくるなら和を含む型) - a(n) が
分母に あるか (あるなら 分数の 型、 逆数を 取る)。 a(n) の 累乗だけで 書けるか (書けるなら 対数を 取る。 a(n)² + 1 のように 数を 足す形には 使えない) - a(n) の
前に 掛かる 数が 1 か (1 なら 等差か 階差、 1 でなければ 等比か 1 次。 n を 含むなら階比) - 足す数に
n の 式や 累乗が あるか (あるなら 引いたり 割ったりして 1 次の 型に直す)
1 次の 型と 特性方程式
a(n+1) = p a(n) + q (p ≠ 1) の
元の
ハノイの
階差の型と Σ
a(n+1) = a(n) + f(n) なら、
a(n) = a(1) + Σ f(k) (k = 1〜n−1)、
Σ の
3 項間の 型と フィボナッチ数
a(n+2) = a(n+1) + a(n)、
一般に
連立の型
a(n+1) = a(n) + 2b(n)、
動かして確かめる
1 本目は、
動かす 二重ループの回数を Σ と照らす
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
1 0 0
2 1 1
10 45 45
100 4950 4950
1000 499500 499500どの
2 本目は、
動かす ハノイの塔の手数を数える
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
1 1 1
2 3 3
3 7 7
4 15 15
5 31 31
6 63 63
7 127 127
8 255 255
9 511 511
10 1023 1023
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C数えた
3 本目は、
動かす 型の表の一般項をループと照らす
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
等差 [2, 5, 8, 11, 14] True
等比 [3, 6, 12, 24, 48] True
階差 [1, 2, 4, 7, 11] True
1次 [1, 3, 7, 15, 31] True
指数 [2, 10, 38, 130, 422] True
分数 1 1/2 1/3 True6 つの型とも、12 項目までFraction (分数を
4 本目は、
動かす 和を含む型と連立の型
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
a [2, 3, 5, 7, 9, 11]
和 37 37
1 1 1
2 1 1
3 5 5
4 13 13
5 41 41
6 121 121
7 365 365S(n) = n² + 1 の
5 本目は、
動かす フィボナッチ数を 3 通りで出す
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
75025 呼出 242785
75025 75025
70 190392490709135
190392490709135
71 308061521170129
308061521170130素直な
一般項の
漸化式と ループは どこでずれるか
番号を 0 から 数えるか 1 から数えるか
数学の
初項と n = 1 の境目
漸化式は、
再帰の深さ
漸化式をsys.getrecursionlimit() で
小数で計算する
一般項にFraction を
仕事と コンテストで どう使うか
Σ と
- ループの回数の
見積もり。 二重ループで 内側が i 回なら、 合計は Σ i で 約 n² / 2。 1 万件の 総当たりは 約 5000 万回 - 再帰の
計算量。 マージソートの 手間 T(n) = 2T(n/2) + n のように、 再帰の 手間は 漸化式で 書け、 解くと n log n の形になる - 動的計画法。
「i 段目までの 最小の 手間」を「i−1 段目と i−2 段目の 答え」から 出す式は、 漸化式 そのもの。 競技プログラミングの DP の 問題は、 漸化式を 立てる所が本題 - お金と
残高。毎月 1% 増えて 1 万円返す残高は a(n+1) = 1.01 a(n) − 10000 で、 1 次の型 - ほかの
分野。 ウサギの 数の 増え方 (フィボナッチ数)、 音声や 画像の 信号処理の 差分方 程式、 経済の 成長の 式など、時間で 1 歩ずつ 進む物の 多くは 漸化式で書ける
よくある問い
漸化式とは、 ひと言で何ですか
数列の
一般項を 求めると 何が 嬉しいのですか
n 番目を 1 回の計算で
特性方 程式は、 なぜ 使えるのですか
特性方
Σ の 上と 下には 何を 書きますか
下にrange(1, n + 1) と
確認クイズ
答えだと
1 問目
a(1) = 1、
2 問目
次のループで、c += 1 は
c = 0
for i in range(100):
for j in range(i, 100):
c += 13 問目
S(n) = n² + 1 を
説明課題
「ハノイの
自分の
この回の 先の一歩
ループの
もっと深く
この
一次資料
どれも 2026年10月30日に開いて、
- A000225 a(n) = 2^n − 1 (OEIS、英語)。ハノイの
塔 (ベナレスの 寺院の 問題) の n 枚の 最小の 手数が 2^n − 1 である ことと、 a(n+1) = 2a(n) + 1、 a(0) = 0 の式 - A000045 Fibonacci numbers (OEIS、英語)。F(n) = F(n−1) + F(n−2)、
F(0) = 0、 F(1) = 1 と、 φ を 使った一般項 - A000217 Triangular numbers (OEIS、英語)。1 から
n までの 和が n(n + 1)/2 であること - functools.lru_cache (Python 公式文書、英語)。関数の結果を
覚えて おき、 同じ 引数の 呼び出しで 計算し直さないこと - sys.getrecursionlimit (Python 公式文書、英語)。再帰の
深さの 上限を返すこと - 漸化式 (Wikipedia 日本語版)。定数係数の
線型の 漸化式の 解き方と、 生物学や 信号処理、 経済学での使われ方
次へ
分野 1 数と式の回
- 1-1数の表し方2 進数と
16 進数、桁の重み頁で読む - 1-2シグマと漸化式Σ の
読み方、 和の 公式、 漸化式とループこの回 - 1-3集合と必要十分かつ、
または、でない、 ド・モルガン頁で読む