Pi hesaplamasında yardıma ihtiyacım var. Pi ile X basamaklarını hesaplayacak bir python programı yazmaya çalışıyorum. Python posta listesinden birkaç tane denedim ve kullanımım yavaşlatmak. Gauss-Legendre Algorithm hakkında okudum ve Python'a başarıyla ulaşmayı denedim.Python'da Gauss-Legendre Algoritması
Here adresinden okuyorum ve nereye yanlış gittiğime ilişkin herhangi bir girişi takdir ediyorum!
O çıkarır: 0,163991276262
from __future__ import division
import math
def square(x):return x*x
a = 1
b = 1/math.sqrt(2)
t = 1/4
x = 1
for i in range(1000):
y = a
a = (a+b)/2
b = math.sqrt(b*y)
t = t - x * square((y-a))
x = 2* x
pi = (square((a+b)))/4*t
print pi
raw_input()
Başka bir veri türünü kullanmak için değiştirmedikçe, elde edebileceğiniz en iyi değer, 32 veya 64 bit kayan nokta aritmetiği kullanılarak 24 veya 53 hane duyarlıdır. Daha fazla bilgi için bkz. Http://en.wikipedia.org/wiki/IEEE_754. – tvanfosson
@tvanfosson: 'Ondalık' kullanan bir sürüm yayınladım. Keyfi hassasiyet sağlar. – jfs
+1 - Python'un ondalık olduğunu ve mxNumber'in Google'da açılan ilk öğe olduğunu bilmiyordu. – tvanfosson