Rekursion / Vervollständigung...
-
Hi,
Ich habe folgende Aufgabenstellung gegeben (das ist nur eine Übungsaufgabe...)public static void main( String[] str ) { int s = summe(5,7,0); } public static int summe(int m, int n, int tiefe) { int s; start(m,n,tiefe); if (m>n) s=0; else { s = summe(m,n-1,tiefe+1) + n; } ende (s,tiefe); return s; } public void start(... public void ende(...
Ergebnis:
Start summe von 5 bis 7 Tiefe 0
Start summe von 5 bis 6 Tiefe 1
Start summe von 5 bis 5 Tiefe 2
Summe = 5
Summe = 11
Summe = 18Erstelle die Methoden start und ende
------------------------------------Also für start habe ich folgendes:
public void start(int m, int n, int tiefe) { System.out.print("Start summe von "+m+" bis "+n+" Tiefe "+tiefe); }
Ob das stimmt weiß ich nicht... sollte aber..
Und wie ende aussehen soll hab ich keine Ahnung..
Was mir klar ist, dass da die Summe der Zahlen in Abhängigkeit von der Tiefe ausgegeben wird... Also bei Tiefe 0, wird eben nur 5 + die 0.te darauffolgende zAhl (also keine) ausgegeben (also Summe = 5)
Bei Tiefe 1 wird dann eben 5 + die erste darauffolgende Zahl ausgegeben, also 5+6 = 11. Und bei Tiefe 2 analog.
Irgendwie ergibt die ganze funktion summe aber halt nicht so wirklich den Sinn für mich... liegt wohl daran dass ich mich nicht so auskenne mit Rekursionen... Ich hoffe mal dass mir jemand helfen kann...
-
public void start( int a, int e, int t ) { System.out.println( "Start - Anfang: " + a + ", Ende: " + e + ", Tiefe: " + t ); } public void ende( int s, int t ) { System.out.println( "Ende - Summe: " + s + ", Tiefe: " + t ); }
Sowas könnte ich mir vorstellen...
-
Nachtrag: start und ende müssen auch static sein!