3

I have been working on a program to calculate e. Here is it on jsfiddle.

/*
|| formula =
||
||          ∞
||         ____
||         \    (3k)^2 +1
||  e =    /    ---------
||         ____    (3k)!
||         k = 0
||
*/ 
var f = [];
function factorial (n) {
  if (n == 0 || n == 1)
    return 1;
  if (f[n] > 0)
    return f[n];
  return f[n] = factorial(n-1) * n;
}
var eCalc = {
    calculate: function(){
        var steps = document.eCalc.num.value;
        return this.calc(steps);
    },
    calc: function(terms){
        var start_time = Date.now(),
            e = 0,
            d,
            n;
        for(i = 0; i < terms; i++){
            n = Math.pow(3 * i, 2) + 1;
            d = factorial(3 * i);
            e = e + (n / d);
        };
        var end_time = Date.now(),
            total_time = end_time - start_time;
        if(total_time >= 1000){
            total_time = (total_time/1000)+"seconds";
        }else{
            total_time += "ms";
        }
        document.eCalc.result.value = e;
        document.getElementById('time').innerHTML = "Result calculated in: " + total_time + "...";
    }
}

How can I make my program output more digits of e?

John Kugelman
  • 349,597
  • 67
  • 533
  • 578
Progo
  • 3,452
  • 5
  • 27
  • 44

0 Answers0