Download code

Jump to: navigation, search

Back to Pi_with_Machin's_formula_(Python)

Download for Windows: single file, zip

Download for UNIX: single file, zip, tar.gz, tar.bz2

pi.py

 1 # The authors of this work have released all rights to it and placed it
 2 # in the public domain under the Creative Commons CC0 1.0 waiver
 3 # (http://creativecommons.org/publicdomain/zero/1.0/).
 4 # 
 5 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 6 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 7 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 8 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 9 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
11 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12 # 
13 # Retrieved from: http://en.literateprograms.org/Pi_with_Machin's_formula_(Python)?oldid=13687
14 
15 def arccot(x, unity):
16     sum = xpower = unity // x
17     n = 3
18     sign = -1
19     while 1:
20         xpower = xpower // (x*x)
21         term = xpower // n
22         if not term:
23             break
24         sum += sign * term
25         sign = -sign
26         n += 2
27     return sum
28 
29 def pi(digits):
30     unity = 10**(digits + 10)
31     pi = 4 * (4*arccot(5, unity) - arccot(239, unity))
32     return pi // 10**10


hijacker
hijacker
hijacker
hijacker