# Rekursive Form



## konoha (13. Nov 2015)

Hallo ich soll das von mir bereits geschriebene Programm in eine rekursive Form überführen. Ich kann mir aber kein klares Bild davon machen. Ich habe kein Schimmer wie das gehen soll, so das programm umzuschreiben, dass die Methode sich mehrfach selbst aufruft und dennoch das gleiche ausgeben soll. Bitte helft mir.. 


```
public static double pi(){
    double nenner = 1.0;
    double zaehler = 1.0;
    double bruch = 0.0;

    while (nenner <= 1000){
    bruch = bruch + zaehler/(nenner*nenner);
    nenner = nenner+1;

    }
        return Math.sqrt(bruch * 6);


// Überführung in rekursive Form
public static double quadraticFractionSum(double counter){

}
```


----------



## Flown (13. Nov 2015)

Sieh dir mein Tutorial von Rekursion an, da zeige ich, wie man Rekursion in Iteration und vice versa verwandelt.


----------



## konoha (14. Nov 2015)

habs mal versucht. komme aber nicht weiter  

```
public static void main(String[]args){
   
    }
   
    public static double quadraticFractionSum(double counter){
    double bruch;
    int zaehler = 1;
   
   
    if(counter<=1000)
            bruch = bruch + zaehler/counter;
            return Math.sqrt(bruch * 6);
            else
            return quadraticFractionSum(counter - 1);
```


----------



## Flown (15. Nov 2015)

Warum denn so kompliziert? 

```
public static double pi() {
   return Math.sqrt(quadraticFractionSum(1d) * 6d);
}

public static double quadraticFractionSum(double counter) {
   double frac = 1d / (counter * counter);
   return counter < 1e3 ? frac + quadraticFractionSum(counter + 1d) : frac;
}
```


----------



## konoha (16. Nov 2015)

Danke für deine lösung flown

Magst du mir bitte die letzte Zeile ausgiebig erklären? Da blicke ich nicht durch. Was bedeutet denn bitte 1e3 und der folgende fragezeicdn operator? Und dann frac +..... : frac?


----------



## Flown (16. Nov 2015)

1eX -> HIER
?: -> HIER


----------

