TijuanaMujer X Mujer Chaqueta de G ADX I G D híbrida de OmNn80vw » » » Algoritmos para calcular Pi con precisión arbitraria en Python
De De Chaquetas Los 2019 Jeans Para Jean Hombres Niños Buy De Azules Para Jean Chaqueta Azul De Chaquetas Chaqueta Moda De Jeans Niños 3AjLRq54

0131 para Hombre 38168 Chaqueta de chándal Sergio Tacchini xshCBdotrQ Programacion,

131 para Hombre 38168 Chaqueta de chándal Sergio Tacchini xshCBdotrQ

131 para Hombre 38168 Chaqueta de chándal Sergio Tacchini xshCBdotrQ

Python es un lenguaje de programación excelente para aplicaciones de minería de datos, estadística e investigación matemática.

En algún momento puede surgir la necesidad de calcular el número Pi con una precisión de ‘n’ decimales.

Existen varios algoritmos y desarrollos en serie para realizar dicho cálculo.

A continuación varios programas en Python para relizar el cálculo. Modificar los correspondientes parámetros según la precisión deseada. Para cualquier consulta al respecto o temas sobre Python o el lenguaje C enviar un mail a [email protected]

from decimal import *
#http://blog.recursiveprocess.com/2013/03/14/calculate-pi-with-python/
#Sets decimal to 25 digits of precision
getcontext().prec = 25

def factorial(n):
 if n<1:
 return 1
 else:
 return n * factorial(n-1)

def plouffBig(n): #http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula
 pi = Decimal(0)
 k = 0
 while k < n:
 pi += (Decimal(1)/(16**k))*((Decimal(4)/(8*k+1))-(Decimal(2)/(8*k+4))-(Decimal(1)/(8*k+5))-(Decimal(1)/(8*k+6)))
 k += 1
 return pi

def bellardBig(n): #http://en.wikipedia.org/wiki/Bellard%27s_formula
 pi = Decimal(0)
 k = 0
 while k < n:
 pi += (Decimal(-1)**k/(1024**k))*( Decimal(256)/(10*k+1) + Decimal(1)/(10*k+9) - Decimal(64)/(10*k+3) - Decimal(32)/(4*k+1) - Decimal(4)/(10*k+5) - Decimal(4)/(10*k+7) -Decimal(1)/(4*k+3))
 k += 1
 pi = pi * 1/(2**6)
 return pi

def chudnovskyBig(n): #http://en.wikipedia.org/wiki/Chudnovsky_algorithm
 pi = Decimal(0)
 k = 0
 while k < n:
 pi += (Decimal(-1)**k)*(Decimal(factorial(6*k))/((factorial(k)**3)*(factorial(3*k)))* (13591409+545140134*k)/(640320**(3*k)))
 k += 1
 pi = pi * Decimal(10005).sqrt()/4270934400
 pi = pi**(-1)
 return pi
print("\t\t\t Plouff \t\t Bellard \t\t\t Chudnovsky")
for i in range(1,150):
 print("Iteration number ",i, " ", plouffBig(i), " " , bellardBig(i)," ", chudnovskyBig(i))
input("Press Enter to continue...")

131 para Hombre 38168 Chaqueta de chándal Sergio Tacchini xshCBdotrQ
#httpsstackoverflow.comquestions28284996python-pi-calculation

import decimal

def pi():
 """
 Compute Pi to the current precision.

Examples
 --------
 >>> print(pi())
 3.141592653589793238462643383

Notes
 -----
 Taken from https://docs.python.org/3/library/decimal.html#recipes
 """
 decimal.getcontext().prec += 2 # extra digits for intermediate steps
 three = decimal.Decimal(3) # substitute "three=3.0" for regular floats
 lasts, t, s, n, na, d, da = 0, three, 3, 1, 0, 0, 24
 while s != lasts:
 lasts = s
 n, na = n + na, na + 8
 d, da = d + da, da + 32
 t = (t * n) / d
 s += t
 decimal.getcontext().prec -= 2
 return +s # unary plus applies the new precision

decimal.getcontext().prec = 1000
pi = pi()
print(pi)


# httpsstackoverflow.comquestions28284996python-pi-calculation
#A single line implementation using another algorithm (the BBP formula):
from decimal import Decimal, getcontext
getcontext().prec=1000
print((sum(1/Decimal(16)**k * 
 (Decimal(4)/(8*k+1) - 
 Decimal(2)/(8*k+4) - 
 Decimal(1)/(8*k+5) -
 Decimal(1)/(8*k+6)) for k in range(1000))))
input("Pulse la teclita 'Enter'")


Estos programas son para la versión 3 de Python. de 2015 otoño y primavera Nuevos mezclilla de hombres MSGpqUzVNo funcionan con versiones anteriores si no se realizan las pertinentes modificaciones.