Hallo liebe Community,
habe mich hier gerade als letzten Ausweg registriert, da ich seit nun mehr 2 Tagen an einem Problem hänge und zu keiner Lösung komme.
Es geht um Rekursionen. Bei der Fakultätsfunktion verstehe ich die Endrekursion und kann sie auch nachvollziehen. Hier habe ich allerdings nun eine Aufgabe, bei der ich einfach nicht weiß wie ich da eine Endrekursion erstellen soll.
Die Aufgabe handelt von der Berechnung der Ansteckungswahrscheinlichkeit von verschiedenen Krankheiten.
Dazu soll ich diese Formel endrekursiv implementieren:
x(n) = x (n-1) + 2* x(n-3) - x(n-2)
Es gilt: x(0) = 2; x(1) = 5; x(2) = 8;
Eine rekursive Methode hab ich geschafft. Die sieht folgendermaßen aus:
public static int rekursion (int n) {
if (n==0 ) return 2;
if (n==1 ) return 5;
if (n==2 ) return 8;
else
return (rekursion(n-1) + 2* rekursion(n-3) - rekursion(n-2));
}
Ich weiß aber absolut nicht wie ich das mit einer Hilfsfunktion endrekursiv implementieren soll, da ich dadurch ja auch 2 Parameter machen muss, obwohl ich nur einen brauche.
Könnte mir da jemand helfen? Die Sache macht mich noch wahnsinnig.
Danke im Vorraus und Liebe Grüße!
habe mich hier gerade als letzten Ausweg registriert, da ich seit nun mehr 2 Tagen an einem Problem hänge und zu keiner Lösung komme.
Es geht um Rekursionen. Bei der Fakultätsfunktion verstehe ich die Endrekursion und kann sie auch nachvollziehen. Hier habe ich allerdings nun eine Aufgabe, bei der ich einfach nicht weiß wie ich da eine Endrekursion erstellen soll.
Die Aufgabe handelt von der Berechnung der Ansteckungswahrscheinlichkeit von verschiedenen Krankheiten.
Dazu soll ich diese Formel endrekursiv implementieren:
x(n) = x (n-1) + 2* x(n-3) - x(n-2)
Es gilt: x(0) = 2; x(1) = 5; x(2) = 8;
Eine rekursive Methode hab ich geschafft. Die sieht folgendermaßen aus:
public static int rekursion (int n) {
if (n==0 ) return 2;
if (n==1 ) return 5;
if (n==2 ) return 8;
else
return (rekursion(n-1) + 2* rekursion(n-3) - rekursion(n-2));
}
Ich weiß aber absolut nicht wie ich das mit einer Hilfsfunktion endrekursiv implementieren soll, da ich dadurch ja auch 2 Parameter machen muss, obwohl ich nur einen brauche.
Könnte mir da jemand helfen? Die Sache macht mich noch wahnsinnig.
Danke im Vorraus und Liebe Grüße!