Computationally approximating PI Is this an efficient way to compute the value of Pi, where the limit of j \$\propto\$ accuracy?

PI = 0;

for (var j = 1; j &lt; 100; j+=2) PI += (4/j)*((j+1)%4?1:-1);


The formula I used to write this is:

$$\pi \equiv \frac{4}{1}-\frac{4}{3}+\frac{4}{5}-\frac{4}{7}+\cdots$$
Your code will work eventually, but this series converges very very slowly.  In fact, as you can read on Wolfram's web site:


  ... this sum converges so slowly that 300 terms are not sufficient to calculate pi correctly to two decimal places! 


Here's a better way to do it which implements this function:

$$ \pi = \sum_{k=0}^\infty \frac{4(-1)^k}{2k+1} \bigg(\frac{1}{2^{2k+1}} + \frac{1}{3^{2k+1}}\bigg)$$



(function(){
  PI=0; 
  n=-4;
  for(k=0;k&lt;100;k++) {
    z = 2*k+1;
    n *= -1;
    PI += n/z*(Math.pow(2, -z) + Math.pow(3, -z));
  }
  console.log(PI);
})();