yeah, simple and correct, I like that. :-)
2007/6/9, Dann Corbit <DCorbit@connx.com>:
> > -----Original Message-----
> [snip]
> > Hum... I think there is a little improvement: when n is too large,(say
> > n>10, 000) we can use Stirling's formula to get the estimated value of
> > n! :-)
>
> Or (rather) the log base 10 of Stirling's formula. The n! estimator
> will overflow for sure, unless we take the log of it.
>
> Rather than all that, why not just figure out what the largest number of
> digits we will allow is and then don't allow inputs that will generate
> more than that.
>
> The program I gave could be run with the target accuracy as the break
> out of the loop and then the test would be:
>
> <type> factorial(<type> n)
> {
> if (n > CONSTANT_PRECOMPUTED_LIMIT)
> return NULL;
> else
> {
> return compute_actual_factorial(n);
> }
> }
>