# 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()