public class Pi extends MiniJava { public static void main(String[] args) { // Test: writeLineConsole(f(1)); writeLineConsole(f(5)); writeLineConsole(f(10)); writeLineConsole(f(100)); writeLineConsole(f(1000)); writeLineConsole(f(10000)); //writeLineConsole(f(20000)); } // Einfache Lösung: public static double f(int n) { // Abbruchbedingung: if (n == 0) return 4; // Rekursionsvorschrift: if (n % 2 == 0) // n gerade return 4.0/(2*n+1) + f(n-1); else // n ungerade return -4.0/(2*n+1) + f(n-1); } // Alternative: Verschränkt rekursiv (siehe Musterlösung) }