![]() |
Problem: Rekursion
bin neu hier... deshalb erstmal ein freundliches Hallo,
Habe folgendes Problem: Mars Mission 2012 -- Shuttle landet 500 km vom Basislager entfernt -- 450 Dosen Nahrung hat ein Astronaut -- 12 kann er nur bei sich tragen -- pro Dose kann er 15 km laufen Muss mirne Strategie überlegen. Meine war es, dass der Astronaut alle Dosen jewals immer 15 km weiterschleppt und dann die nächsten 15 km angeht. Dazu hab ich mir folgendes Programm geschrieben:
Delphi-Quellcode:
nu muss dis aber rekursiv werden... und dis krig ich nicht hin.
procedure TForm1.Button1Click(Sender: TObject);
var lag1, lag2, weg: integer; begin lag1:= 450; lag2:=0; weg:=500; repeat weg:=weg-15; repeat if lag1<=13 then begin lag2:=lag2+lag1-1; lag1:=0; end else begin lag1:=lag1-13; lag2:=lag2+11; end; listbox1.Items.add(inttostr(lag1)+' '+inttostr(lag2)+' '+inttostr(500-weg)); until lag1 <= 0; lag1:=lag2; lag2:=0; until weg<=195; end; kann mir jemand helfen aus dem programm ne rekursive funktion zu schreiben?! Danke schonmal |
Re: Problem: Rekursion
Hallo apfelmobs,
herzlich willkommen in der Delphi-PRAXiS. Warum willst du denn unbedingt eine Rekursion ins Spiel bringen? Oder ist das eine Vorgabe? A propos Vorgabe, soll alles mit ganzen Zahlen gerechnet werden? Was ist das Ziel? Sollen die Dosen alle transportiert werden, oder soll der Astronaut möglichst schnell ins Basis-Lager? Wann konsumiert der Astronaut die Dosen - am Anfang oder am Ende eines Transports? Fragen über Fragen... Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz