# pi näherungsweise berechnen - Wallis Produkt



## Hornhauer100 (26. Okt 2014)

Hallo,

ich habe hier eine Aufgabe, welche ich überhaupt nicht verstehe und vielleicht weiß ja jemand einen Ansatz, was man da machen muss. Aufgabe: Mit Hilfe Wallis Produktes pi näherungsweise berechnen. Bei n = 6 würde das so aussehen: pi/2 = 2/1*2/3*4/3*4/5*6/5*6/7*........ und das soll man dann mit 1000000 Faktoren machen, um pi genauer auszurechnen. 
Danke schon einmal im Voraus


----------



## Flown (26. Okt 2014)

Einmal auf Wikipedia gucken: Wallissches Produkt

Dann die Formel einsehen - am besten verstehen.

n-mal die Näherung rechnen (in deinem Fall 1_000_000 mal).

Am besten geht das mit einer Schleife. Fertig.


----------



## Hornhauer100 (26. Okt 2014)

hm Danke, nur da steht exakt die gleiche Formel wie ich oben aufgeschrieben habe und das bringt mich 0 weiter


----------



## Hornhauer100 (26. Okt 2014)

Habe jetzt etwas ausprobiert, aber es klappt leider nicht 


```
package Test;

public class TestatAufgabe {

	public static void main(String[] args) {
	
		
					 double n = 0;
		 			 double piHalbe = 1.0;
		             double j = 1.0;
		             
		             
		             // Pi / 2 = (2/1) * (2/3) * (4/3) * (4/5) * (6/5) * (6/7) * ..
		             
		             System.out.println("Bitte den Faktor eingeben");
		             j = EAM.rDouble();
		             
		       
		             
		             for (double i = 1; i < n; i++, j++) {
		                 if (i % 2 == 0) {
		                     piHalbe = (j / (j + 1));
		                 } else {
		                     piHalbe = ((j + 1) / j);
		                 }
		             }
		     
		             System.out.println( 2.0 * piHalbe);
		    
	}

}
```

und EAM ist eine Funktion unserer Uni zur Speicherung von Variablen


----------



## Thallius (26. Okt 2014)

Und wie soll i jemals kleiner sein als n?

Gruß

Claus


----------



## Flown (26. Okt 2014)

Die Kurzschreibweise kann man verwenden:

Initialisiere Pi (Hint: 1)
Für jeden Schritt berechne: 1 + 1/(4*i*i -1)
Multipliziere den aktuellen pi-Wert mit dem oben berechneten Wert.
Brich die Schleife ab, sobald die gewünschte Genauigkeit erreicht ist.
Rechne Pi * 2
Gib den Wert Pi zurück

So sieht der Algorithmus in Prosaform aus.


----------



## Feeder (27. Okt 2014)

Kurze Zwischenfrage: Für was brauch man sowas . Math.PI fertigg ^^


----------



## Sogomn (27. Okt 2014)

Feeder hat gesagt.:


> Kurze Zwischenfrage: Für was brauch man sowas . Math.PI fertigg ^^



Bei den meisten Aufgaben geht es nicht um das Ergebnis oder den Sinn.


----------



## arilou (27. Okt 2014)

Ich bezweifle, dass bei 1 Mio Iterationsschritten 'double' ausreichend Genauigkeit bietet, um das (Zwischen-)Ergebnis speichern zu können...


----------



## Feeder (29. Okt 2014)

Schreibe ich mir halt nen größeren Zahlentyp ^^ Aber hast schon recht wenn man so will


----------

