# Pi berechnen



## Wichtel (14. Nov 2010)

Hallo zusammen

also ich habe mir schon den kopf zerbrochen, wie ich meine aufgabe lösen kann und glaube, dass ich auch nen relativ brauchbaren ansatz habe, jedoch komme ich nicht mehr weiter. aber erstmal zu meiner aufgabe:
also ich soll ein programm schreiben, welches mir pi mit hilfe des wallis produkts, auf 5 nachkommastellen genau berechnet und dann sagt, wie viele berechnungen nötig waren.


```
public class pi {
	
	private static double pi = 3.14159;
	
	public static void main(String[] args) {
		System.out.println("Starte Rechenvorgang.\n");
		
		int i = 0;
		double r = 1;
		
		do{
		i++;
		r = r * ((2*i)/(2*i - 1)) * ((2*i)/(2*i + 1)(i));
		}
		
		System.out.println("Die Zahl ist nach " + i + "Berechnungen auf 5 Stellen genau an pi\n");
		System.out.println(String.valueOf(r * 2));
			
	}
}
```

so nun zu meinem problem: ich habe einfach absolut keine idee, wie ich das ins programm bekomme, dass der die errechnete zahl mit der von mir eingegebeben auf 5 nachkommastellen genauen pi vergleicht und guckt wann die gleich sind und mir dann das ergebnis ausgibt. außerdem weiß ich nicht, ob das was ich bissher geschrieben habe richtig ist.
wäre super, wenn mir jemand nen tip geben könnte, wie er das problem lösen würde.
aber beachtet bitte, dass ich bissher noch nicht so wirklich viel plan vom programmieren habe 

lieber gruß


----------



## Marcinek (14. Nov 2010)

also wenn ich sowas habe

3,1415

Dann kann ich das mit 10000 (= 10 hoch anzahl meiner Stellen)

und bekomme 31415.2384032 nach int casten und erhalte 31415

Wenn ich nun rechne:

31415 / 10 erhalte ich 3141 und wenn ich mache 31415 % 10 bekomme ich 5

Oder noch einfacher:  ich nehme 31415 und vergleiche es mit Math.PI * 10 hoch anzahl stellen und caste nach int

Dann kann ich das einfach vergleichen... Da muss man garnicht einzelene Stellen vergleicen.

deine do schleife hat keinen while() teil und wird damit, falls man das kompiliert bekommt nur einmal durchgeführt


----------



## Wichtel (14. Nov 2010)

Hi 
erstmal danke für die schnelle antwort.
also in den while teil meiner do schleife sollte der vergleich mit der konstanten pi reinkommen das wo ich mir bissher ja auch noch nicht sicher bin wie ich es machen soll deswegen fehlt es.

ich kann deinen lösungsansatz nicht ganz nachvollziehen, bzw glaube nicht, dass er mein problem löst, da ich einen while teil brauche, der das durch wallis errechnete pi mit der konstanten pi vergleicht und gegebenen falls das programm beendet wenn es genau genug ist.

gruß


----------

