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. Anweisung : Uhrzeiten ohne Doppelpunkt eingeben also aus 13:15 wird 1315
Meine herangehensweise bisher:
Zuerst berechne ich die Differenz von Z zu X :
z.B
X = 800 und Z = 1400
Z - X = 600
und dann auf minuten n = 600/100 * 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 !
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. Anweisung : Uhrzeiten ohne Doppelpunkt eingeben also aus 13:15 wird 1315
Meine herangehensweise bisher:
Zuerst berechne ich die Differenz von Z zu X :
z.B
X = 800 und Z = 1400
Z - X = 600
und dann auf minuten n = 600/100 * 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 !