What's wrong with Stirling's approximation? $$100!\approx \sqrt{2\pi 100}(100/e)^{100}\approx\sqrt{628}(100/e)^{100}$$ Since $628\approx 625$, the square root gives $\approx25$, and now: $$(100/e)^{100}=100^{100} e^{-100}= 100^{100} 10^{-100 /\ln 10}$$ Now if you memorized $100!$, surely you memorized $\ln 10 \approx 2.3$, so: $$100!\approx 2.5 \cdot 10^{157}$$ Which is correct to within an order of magnitude, without using a calculator.

Addendum: If you note that $100/2.3$ is around $43.5$, and use $\sqrt{10}\approx 3.2$, you get $8 \cdot 10^{157}$, which is even closer.


If you are good in memoralization, then it is very elegant to use one of Ramanujan's factorial approximations. In Ramanujan's lost notebook you can find this one:

$$ n! \sim \sqrt{\pi}n^{n}e^{-n}\sqrt[6]{8n^3+4n^2+n+\frac{1}{30}} $$

This is a very strong, and also famous approximation. Using it for approximate $100!$ you get $9.3326215444826261629 \cdot 10^{157}$. The first $10$ digit is correct! If you are intrested in factorial approximation you can get some result here.

Edit. This might be interesting.


I am not at all familiar with this type of contest, so forgive me if this is stupid.

Assuming that you have a programmable calculator, you could first compute in a loop $$A=\log_{10}(100!)=\sum_{i=1}^{i=100}\log_{10}(i)\simeq 157.9700037\simeq158-0.03$$ So, $$10^A=100!\simeq10^{158}10^{-0.03}=e^{-0.03 log (10)}10^{158}\simeq e^{-0.069} 10^{158}$$ Now, use one term of the Taylor expansion of $e^x$ around $x=0$ to get $e^{-0.069}\simeq 0.931$ which corresponds to an underestimate. Then $$0.931 \times 10^{158} \lt 100! \lt 10^{158}$$