Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
49 lines (35 loc) · 975 Bytes

File metadata and controls

49 lines (35 loc) · 975 Bytes
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""This module contains a code example related to
Think Python, 2nd Edition
by Allen Downey
http://thinkpython2.com
Copyright 2015 Allen Downey
License: http://creativecommons.org/licenses/by/4.0/
"""
from __future__ import print_function, division
import math
def factorial(n):
"""Computes factorial of n recursively."""
if n == 0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result
def estimate_pi():
"""Computes an estimate of pi.
Algorithm due to Srinivasa Ramanujan, from
http://en.wikipedia.org/wiki/Pi
"""
total = 0
k = 0
factor = 2 * math.sqrt(2) / 9801
while True:
num = factorial(4*k) * (1103 + 26390*k)
den = factorial(k)**4 * 396**(4*k)
total += num / den
term = factor * num/den
if abs(term) < 1e-15:
break
k += 1
return 1 / (factor * total)
print(estimate_pi())
Morty Proxy This is a proxified and sanitized view of the page, visit original site.