Thema: Rekursion C++
Einzelnen Beitrag anzeigen
Ungelesen 05.04.10, 11:45   #1
ponchosi
Anfänger
 
Registriert seit: Jan 2010
Beiträge: 8
Bedankt: 0
ponchosi ist noch neu hier! | 0 Respekt Punkte
Standard Rekursion C++

Ich soll ne rekursiv definierte Problemstellung programmieren. Es geht um folgendes :

Eine Haltestelle wird zum Zeitpunkt X das erste mal und zum Zeitpunkt Y das letzte mal.

Wenn nach n Minuten ein Bus hält, hält auch einer nach n+12 und einer nach 2n+5 Minuten.
Nun soll das Programm angeben, ob zu einem Zeitpunkt Z ein Bus hält.


Eingegeben werden X, Y und Z.

Meine herangehensweise bisher:

Zuerst berechne ich die Differenz von Z zu X :
z.B

X = 8:00 und Z = 14:00

Z - X = 6 Stunden

und dann auf minuten n = 6 * 60 .

Soooo

Wenn nun bei den Minuten rest 0 rauskommt bei mod10, dann kann ich ja gleich ausspucken "ja es fährt ein bus"

Sollte das nicht der Fall sein, kommt ne rekursive Funktion ins Spiel :

Um zu berechen ob nach n minuten ein bus fährt, muss ich schauen ob nach n-12 und nach (n-5)*1/2 minuten ein Bus fährt.
um zu schauen ob da ein bus fährt muss ich gucken ob nach (n-24) oder nach ((n-5)*1/2)-5)*1/2 minuten ein Bus fährt usw.

Und da is mein Problem ! Wie packe ich das in ne rekursive Funktion ?

funktion(n)

if(n<=0)
return 0;

else
n_eins = funktion(n-12) ;
n_zwei = funktion((n-5)*1/2) ;

?

wenn n = 0 dann fährt zum Zeitpunkt Z ein Bus.

vllt brauch ich nur einen kleinen Schubs !?

Schonmal vielen Dank für eure Hilfe !
ponchosi ist offline   Mit Zitat antworten