## Calculating Pi using simple JavaScript

One day I was bored and wanted to calculate Pi for myself. After finding out the Leibniz formula for Pi. When it is solved for Pi one gets:

Pi=4/1-4/3+4/5-4/7...

And so on since it's an infinite series. Since one can see a pattern that can easily be defined I concluded that a simple program using a loop could be made. I decided on using JavaScript for its ease of use and use a for loop. The program I made at first was mainly:

var Pi=0;

var n=1;

for (i=0;i<=1000;i++)

{

Pi=Pi+(4/n)

n=n+2

Pi=Pi-(4/n)

n=n+2

}

Where the variable "Pi" is the value of Pi, "i" is the number of times the loop is repeated, and "n" is just a variable to help in the formula. This I however found could further simplified to:

var Pi=0;

var n=1;

for (i=0;i<=1000;i++)

{

Pi=Pi+(4/n)-(4/(n+2))

n=n+4

}

Of course the more times the loop is repeated, the more accurate your value of Pi gets, and while 1000 may seem like a large number, the value of Pi which it calculated is wrong after the 3rd decimal point. I've had it repeat over 100,000 times and it gets more accurate, however, remember that making the number of repeats can slow down and even crash your browser (I speak from experience). If you want some ready made scripting, then here's some scripting I've made which lets you easily control the amount of loop repeats. It is based as an HTML document:

<html>

<body>

<input type="button" onclick="Calculate()" value="Calculate Pi" />

<script type="text/javascript">

//Made by Masterdude

var c=0;

function Calculate()

{

var c=prompt("Enter number of cycles:","0");

if (c>0)

{

var Pi=0;

var n=1;

for (i=0;i<=c;i++)

{

Pi=Pi+(4/n)-(4/(n+2))

n=n+4

}

alert(Pi);

}

else

{

alert("Canceled or Error in input: Input must be positive.");

}

}

</script>

</body>

</html>

Pi=4/1-4/3+4/5-4/7...

And so on since it's an infinite series. Since one can see a pattern that can easily be defined I concluded that a simple program using a loop could be made. I decided on using JavaScript for its ease of use and use a for loop. The program I made at first was mainly:

var Pi=0;

var n=1;

for (i=0;i<=1000;i++)

{

Pi=Pi+(4/n)

n=n+2

Pi=Pi-(4/n)

n=n+2

}

Where the variable "Pi" is the value of Pi, "i" is the number of times the loop is repeated, and "n" is just a variable to help in the formula. This I however found could further simplified to:

var Pi=0;

var n=1;

for (i=0;i<=1000;i++)

{

Pi=Pi+(4/n)-(4/(n+2))

n=n+4

}

Of course the more times the loop is repeated, the more accurate your value of Pi gets, and while 1000 may seem like a large number, the value of Pi which it calculated is wrong after the 3rd decimal point. I've had it repeat over 100,000 times and it gets more accurate, however, remember that making the number of repeats can slow down and even crash your browser (I speak from experience). If you want some ready made scripting, then here's some scripting I've made which lets you easily control the amount of loop repeats. It is based as an HTML document:

<html>

<body>

<input type="button" onclick="Calculate()" value="Calculate Pi" />

<script type="text/javascript">

//Made by Masterdude

var c=0;

function Calculate()

{

var c=prompt("Enter number of cycles:","0");

if (c>0)

{

var Pi=0;

var n=1;

for (i=0;i<=c;i++)

{

Pi=Pi+(4/n)-(4/(n+2))

n=n+4

}

alert(Pi);

}

else

{

alert("Canceled or Error in input: Input must be positive.");

}

}

</script>

</body>

</html>

active| newest | oldestFurther simplified to:

(function(Pi,n){

Pi+=(4/n)-(4/(n+2));

n+=4;

arguments.callee(Pi,n)

})(0,1)

httptomas@gmail.com

Interesting... I'll have to try this sometime.

I have made another post on calculating pi faster. Please view it. Click this link.

You are aware that the Leibniz formula for Pi converges rather slowly aren't you?

http://en.wikipedia.org/wiki/Leibniz_formula_for_pi

L

L