Rekursive Reihe implementieren

new_to_coding

Neues Mitglied
Ich habe gerade angefangen zu studieren, und wir hatten gestern rekursion. Dabei müssen wir jetzt diese Aufgabe lösen, bei der ich nicht so recht weiß wie ich vorgehen soll. Kann da jemand helfen?



Als Erstes musst du die neuste Pinguin Reihe implementieren. Diese ist abhängig von einem Start-Vektor p=(p0,p1,p2)p = (p0, p1, p2)p=(p0,p1,p2) und folgt dieser Berechnungsvorschrift:

pinguSequenceRec(0)=p0\text{pinguSequenceRec}(0) = p0pinguSequenceRec(0)=p0
pinguSequenceRec(1)=p1\text{pinguSequenceRec}(1) = p1pinguSequenceRec(1)=p1
pinguSequenceRec(2)=p2\text{pinguSequenceRec}(2) = p2pinguSequenceRec(2)=p2

pinguSequenceRec(n)=2∗pinguSequenceRec(−n),falls n<0\text{pinguSequenceRec}(n) = 2 * \text{pinguSequenceRec}(-n), \text{falls } n <
0pinguSequenceRec(n)=2∗pinguSequenceRec(−n),falls n<0

pinguSequenceRec(n)=pinguSequenceRec(n−1)−pinguSequenceRec(n−2)+2∗pinguSequenceRec(n−3),


Für deine Implementierung geben wir den Vektor komponentenweise mit, sodass deine Methode insgesamt vier Parameter übernimmt. Außerdem gelten folgende Einschränkungen:

  • -122 < n < 145
 
Als erstes solltest Du darauf achten, dass Dinge sauber formatiert wiedergegeben werden - sonst ist das für uns schwer zu beantworten.

Und wo ist Dein Problem mit der Rekursion? Die Rekursion besteht immer aus einer Abbruchbedingung und einer oder mehrere rekursive Anweisung. Und die sind bei Dir alle gegeben.

Ich sehe 3 Abbruchbedingungen - also Werte, wo direkt ein Ergebnis zurück gegeben werden kann.
Und dann sehe ich zwei Berehcnungsvorgaben - je nach dem Wert von n.

Und damit kann man dann dann die Methode direkt schreiben.
 

Zurück
Oben