note gryng Running for 10,000,000 twice I got 3.1405 the first run, and 3.1424 the second. (for an average of 3.1415) It's quite likely your rand() isn't perfect. (neither is mine 10,000,000 runs should give me a digit or two more accuracy). <p> Anyway, here is my favorite approximation for pi, mainly because it only uses the number 2. Even though two is normally a computer friendly number, this algorithm isn't, because it also uses sqrt's. With my perl, 14 iterations is gives the maximum accuracy: 3.14159265480759 <code> #!/usr/bin/perl -w use strict; print "Enter how many iterations:\n"; chomp(my \$i = <>); my \$x = \$i - 1; my \$y = sqrt(2); do { \$y = sqrt(2 + \$y) while (--\$x); \$y = sqrt(2 - \$y); } if \$x; my \$z = \$y * (2 ** \$i); print "Pi is close to: \$z\n"; </code> <p>So, while not the best, but I have some strange affinity to it. :) <p>Ciao, <br>Gryn <p> p.s. Sorry for the cryptic code for a quick decrypt its: <code>(2**n)*sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))</code> with the number of 2's inside the sqrt equaling n. 58619 58721