i just used this with *N*=400 and got a 1638 decimal place *e*, then with *N*=500 and got a 2145 decimal place *e*:

`use Math::BigFloat;
$N = shift || 100;
$e = Math::BigFloat->new(1);
$fac = Math::BigFloat->new(1);
for $i (1 .. $N)
{
$fac *= $i;
$e += 1 / $fac;
}
print $e, $/;
`

my computer is too slow to wait for it to go any higher. i don't know how far you can take it out.

the number of digits seems to increase with the size of *N* but i don't know why, nor at what rate this happens.

**p.s.** the result of this code looks to me like *e*, but i have no idea how accurate it is (beyond being basically accurate, i.e. about 2.71828). i compared it to a 10000 digit calculation of *e* i found on the Net, and it was only the same up to about 40 decimal places. if you're doing this to get an accurate value of *e* for later use, i would recommend just finding a calculated and verified version of it on the web (or use the version posted by IO in another response to this parent thread, which, as far as i can tell, reliably generates the actual digits of *e*). if you're just doing this for fun, then have a blast.

Comment onRe: Calculating eDownloadCode