Java iterative Approxiamation von pi?

1 Antwort

Hausaufgabenservice...? 🤔

Hier die Iterative... (ich hätte eher geprüft ab wann das Ergebnis stabil wird....)

public class Main {
    private String operator = "-";
    private double denom = 3.0;
    private double num = 1.0;
    private int power = 1;


    public double calcPi(int MaxSteps) {
        int i=0;
        while(i<MaxSteps) {
            if (operator.equals("-")) {
                num -= (1.0/(denom*(Math.pow(3, power))));
                operator = "+";
            }
            else {
                num += (1.0/(denom*(Math.pow(3, power))));
                operator = "-";
            }
            denom += 2;
            power += 1;
            ++i;
        }
        return Math.sqrt(12) * num;
    }

    public static void main(String[] args) {
        System.out.println(new Main().calcPi(28)); // mehr als Durchläufe bewirken keine höhere Genauigkeit
    }
}

Die Rekursion kannst Du Dir selbst basteln...

Den Algorithmus hast Du ja nun...

mathe999 
Fragesteller
 14.11.2021, 13:30

Klassen hatten wir noch nicht..

0
Erzesel  14.11.2021, 13:37
@mathe999

versteh ich jetzt nicht ? 😏

Wenn Ihr das Programmieren in Java erlernt, solltest Du schon mal davon gehört haben, wie ein Programm aufgebaut ist.

die Main-Methode kann schließlich nicht im "Luftleeren Raum" definiert werden...

0