Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any neat way to solve how many digits the number $20!$ have? I'm looking a solution which does not use computers, calculators nor log tables, just pen and paper.

share|cite|improve this question
I suspect Stirling's approximation will help. – David Mitra Apr 25 '12 at 15:43
The simplest way is just to compute $20!$. $20$ is small enough that this shouldn't take too much time (or paper). – Chris Eagle Apr 25 '12 at 15:45
See "D. FACTORIALS OF LARGE NUMBERS" in – Dave L. Renfro Apr 25 '12 at 15:45
up vote 2 down vote accepted

As a rough approximation, multiplying an $n$-digit number by an $m$-digit number yields a result with about $n+m$ digits. So the numbers from 2 to 9 are all 1-digit numbers. From 10 to 20 are all 2-digit numbers. That suggests we should have about 18 digits or so.

Wolfram|Alpha claims that $20! = 2.4 \times 10^{18}$. Not far off! :-D

share|cite|improve this answer
(Exponents of more than one character require {} to render properly) – The Chaz 2.0 Apr 25 '12 at 16:00
Apparently I fail basic math. If you actually count 2 for all of the 2-digit numbers, you come up with 28, which is quite a way out. sigh – MathematicalOrchid Apr 25 '12 at 20:34
@TheChaz Thanks for that... – MathematicalOrchid Apr 25 '12 at 20:35

I come from a background in computers, so here's my two cents. Taking the logarithm to the base 10 of n!. If the log comes out to be x, it is not hard to see that the number of digits must be the lowest integer greater than or equal to x, i.e, $floor(x)+1$. Now the question comes down to approximating the $log(n!)$ It is possible to prove by induction that n! lies between $(\frac{n}{2})^n$ and $(\frac{n}{3})^n$. Thus the log(n!) lies between $nlog(\frac{n}{2})$ and $nlog(\frac{n}{3})$. We can get a pretty tight bound if we used log tables for log(20/3), but as you have disallowed that, using the upper limit(which becomes log(10) = 1) will do quite nicely too. The answer comes to 20*log(10) = 20, which should tell you that the expected number of digit is about 19 or 20.(Since 20 is only the upper bound). And 19 happens to be the answer.

share|cite|improve this answer
Can you give me a reference to understand It is possible to prove by induction that n! lies between (n/2)^n and(n/3)^n? – Saurabh Goyal Jul 8 at 10:43

There is unclean way of solving it.

Number of digits in a number 'N' is CEILING(log(N)).

So number of digit in N! is CEILING(log(N!)) = CEILING(log(N*(N-1)*(N-2)) ... 2*1)


CEILING(log(N!)) = CEILING(log(N) + log(N-1) +log(N-2)+ ... log(2)*log(1))

Which is pretty easy to compute.


share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.