How would you write a non-recursive algorithm to compute n!?
n!
I would use memoization. That way you can write the method as a recursive call, and still get most of the benefits of a linear implementation.