pi-py.py
# File: pi-py.py
#
# Purpose: Estimates pi using the Madhava–Leibniz series.
#
# Run: python pi-py.py num-iterations
import sys
import time
import math
PI = 3.141592653589793238462643
def leibniz(n):
sum = 0
for i in range(n):
sum += math.pow(-1, i) / (2 * i + 1);
return sum
def main():
n = sys.argv[1]
n = int(n)
start = time.time()
pi = leibniz(n) * 4
elapsed = time.time() - start
print("Intervals: %d" % n)
print(" Result: %.20f" % pi)
print(" Accuracy: %.20f" % (PI - pi))
print(" Time: %.10f" % elapsed)
if __name__ == '__main__':
main()