Mental Model
To find a number raised to a power quickly by breaking the problem into smaller parts and reusing results.
Analogy: Like folding a paper in half repeatedly to reach a big thickness quickly instead of stacking sheets one by one.
power(n, e) ├─ if e is 0 -> return 1 ├─ else split e into half ├─ compute power(n, e//2) └─ combine results by squaring or multiplying by n if e is odd