再帰とループの比較

階乗 (Factorial): 数を1まで掛け合わせる計算です(例:5! = 5×4×3×2×1)。
「再帰」は自分自身を呼び出して処理を委譲し、「ループ」は変数を順次更新します。単純な計算のため、実務ではメモリを消費しないループ(または標準ライブラリ)が推奨されます。
Function Factorial(n):
  If n <= 1:
    Return 1
  Else:
    res = Factorial(n - 1)
    Return n * res

Call Stack (メモリ)

Waiting for execution...

Variables (変数)

--
ハノイの塔 (Tower of Hanoi): 円盤を移動させる古典的なパズルです。
「N枚の円盤を移動させるには、まず上のN-1枚を別の柱に退避させる」という自己相似的な構造を持つため、再帰を用いると驚くほどシンプルに記述できます。
PEG_A
PEG_B
PEG_C