viernes, 2 de septiembre de 2011

Aproximar pi con un número racional dentro de un rango dado

Este programa en python devuelve una tupla. La cual contiene en el primer campo a la mínima distancia entre el racional y el valor de pi, el segundo al valor de ese racional convertido a float, el tercero al numerador y el cuarto al denominador. Los valores del numerador y el denominador varían cada uno entre 1 y 1000.
import math

def racional_cerca_de_pi(m,n,a,b):
min=b
for i in range(1,n+1):
for j in range(1,m+1):
v=i/float(j)
d=math.fabs(math.pi - v)
if d < min:
min=d
a=i
b=j
return (min,a/float(b),a,b)
print racional_cerca_de_pi(1000,1000,1,1)

La librería math nos proveé de funciones como fabs() que da el valor absoluto de un número y pi el valor de pi =P. El resultado es: (2.667641894049666e-07, 3.1415929203539825, 355, 113)

No hay comentarios:

Publicar un comentario