# Generating all factorials up to $n$: faster than naive approach?

I'm aware of prime decomposition and parallel approaches to calculating one factorial; however, if I want the factorials of all numbers up to $n$, is there anything more efficient than the naive approach? As far as I can tell, at least the prime decomposition algorithms aren't any more useful here than the naive approach. Karatsuba multiplication may be useful, but that's something that would have to be dealt with in the data structure that handles arbitrarily large integers, if I'm not mistaken.

Running [factorial(n) for n in range(101)] produces the following output after a few seconds. Do you really need anything more?
• Yeah that approach is what I'm currently using (actually I'm not recalculating each one, I just do $(n-1)! * n$ and store each one). I need all factorials up to $10000!$, and Java's BigInteger handles that quickly enough. It was mainly of theoretical interest whether you can do better than that. – G. Bach Nov 1 '14 at 19:18