Java ile Pi sayısını hesaplamak (nerde hata yapıyorum?)

qetadgzcb

New member
Katılım
7 Şub 2007
Mesajlar
82
Reaction score
0
Puanları
0
Konum
İşlemcimin içinde bir noktada
Herkese selamlar,

Java kullanarak Pi sayısını alttaki formul doğrultusunda hesaplamaya çalışıyorum.

Pi = 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + 4/13 .................. 4/99

Yazdığım kod aşağıda; bakınca algoritma açısından düzgün görünüyor ancak aldığım sonuç "3.1249279859243417". Aklım gelen tek hata sistemin ondalık kısımları yuvarlaması yüzünden problem çıkma olasılığı.

Kod:
		double x;
		double cikart = 1.33;
		double topla = 0.8;
		for (x = 5; x <= 99; x++){
			cikart += 4 / (x + 2);
			if (x <= 95){
				topla += 4 / (x + 4);
			}
			x += 3;
		}
		System.out.println(4 + topla - cikart);

Yardımlarınız için teşekkürler..

Saygılar, sevgiler...

Edit : Şimdi aklıma geldi, işlemi "4/99" ile sınırlandırmamdan böyle bir farkı çıkıyor olabilir belki ama emin olamadım yine.
 
evet dediklerinin cogu dogru.
* ondaliklar yuvarlandigi icin
* sonsuza kadar degil 4/99 a kadar islemi surdurdugun icin pi sayisina ulasamazsin

ama algoritmanda da saniyorum bi kucuk hatan var. if (x <= 95) 95 den sonrasini toplamadigin icin pi olmasi gerektigi kadar buyuyemiyor. bu if kalktiginda 3.16453... haline geliyor ki daha yakin bi deger. for dongusunu de 1000 ya da 10000 veya daha buyuk bi sayi yaparsan tasana kadar pi'ye yaklasiyorsun.
 
Geri
Üst