Recursion Assignment

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
Themengebiet: Rekursion, Optimierung, Reelle Zahlenfolgen.

[[Bild:RecursionAssignmentTree.png]]

Die reelle Zahlenfolge $a_n$ ist rekursiv definiert durch:

$$
a_{n} = \left\{
  \begin{array}{ll}
    1 & \text{falls } n=0 \\
    a_{n-1}+\frac{1}{a_{n-1}+1} & \text{falls } n>0
  \end{array}
\right.
$$

Implementiere folgende Funktion:
<run id="4f426aec2a743">
static double a(int n) {
        // ...
}

System.out.println(a(100));
</run>

<check>
double d = 13.354072127421414;
return a(100) == d;
</check>

<code id="4f426aec2a6dc" hidden>
static double a(int n) {
        if(n==0) {
            return 1;
        } else {
            double a_n = a(n-1);
            return a_n+(1/(a_n+1));
        }
}

System.out.println(a(100));
</code>