Re: Factorials of Large Numbers Message #2 Posted by Bill Wiese on 25 Nov 2002, 10:05 p.m., in response to message #1 by Gordon Dyer
Hi...
Whoa, this brings back memories of a 'wasted' summer in high school (1980?) tinkering with my ol' TI58! (Didn't get my 41C til Christmas in my senior year  and then fooling w/system architecture/SP/ byte jumping etc took over...)
Wrote various "big factorial" programs, including log(n!) programs and approximations.
Stirling's Approx. works progressively better for larger and larger values of n, but has to be 'warped' for moderately useful performance for, say, n<69.
n! ~= sqrt(2*pi*n) * (n/e)^n
and
log(n!) ~= 0.5*log(2*pi*n) + n*log(n/e)
Anyway I still remember that 10,000!~= 2.645x10^35659
and 1,000!~= n.nnnx10^2567
100!~= 9.332x10^157...
Nifty little thing:
Number of trailing zeros of n!:
Trailing zero = multiple of 10. We have an excess of factors of two in a factorial (after all, every other number is even!) so every term in factorial that has a 5 or power thereof determines a trailing zero.
Thus:
int(n/5)+int(n/25)+int(n/125)+int(n/625)+int(n/5^5)...
gives us number of trailing zeros in n! . 1000! has, IIRC, 249 trailing zeros and 10,000! has 2499 trailing zeros.
Factorials are neat. Remember finding out about companion gamma function (I *knew* there must be something continuous over n>=0 for something factoriallike.)
That was a fun summer...
Bill Wiese
San Jose, CA
