In this Kata, you will implement a function `count` that takes an integer and returns the number of digits in `factorial(n)`. 

For example, `count(5) = 3`, because `5! = 120`, and `120` has `3` digits.  

More examples in the test cases. 

Brute force is not possible. A little research will go a long way, as this is a well known series.

Good luck!

Please also try:

Difficulty: EASY
Starter code: def count(n):
	

Solutions:
from math import *

def count(n):
	return ceil(lgamma(n + 1) / log(10))


from math import log10, floor, pi, e

def count(n):
	if n < 0:
		return 0
	if n <= 1:
		return 1
	x = n * log10(n / e) + log10(2 * pi * n) / 2
	return floor(x) + 1


from math import ceil, log10, pi, e

def count(n):
	return ceil(log10(2 * pi * n) / 2 + n * log10(n / e))


from math import floor, log, pi

def count(n):
	return floor(((n + 0.5) * log(n) - n + 0.5 * log(2 * pi)) / log(10)) + 1


from math import ceil, log, pi, e
count = lambda n: int(ceil(log(2 * pi * n, 10) / 2 + n * log(n / e, 10)))


from math import floor, log10

def count(n):
	n = n + 1
	return floor(sum(map(log10, range(2, n)))) + 1