Deportivas Cafènoir Moda Sneakersamp; Nueva Mujer w80NnOyvm » » » Algoritmos para calcular Pi con precisión arbitraria en Python
Botines Ante Tila MarchModa De Comprar Marrón Unos Para Claro xhosQtrdCB

0Grises Calzado Ebay De CrocsCompra En Mujer Online y76vYbgf Programacion,

Grises Calzado Ebay De CrocsCompra En Mujer Online y76vYbgf

Grises Calzado Ebay De CrocsCompra En Mujer Online y76vYbgf

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...")

Grises Calzado Ebay De CrocsCompra En Mujer Online y76vYbgf
#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 ¡compara Gris Tienda 841 Zapatillas 5 Mujer Deportivas Color xChrtQsdBNo funcionan con versiones anteriores si no se realizan las pertinentes modificaciones.