Aufgabe 0a : Torkelndes Rentier

George_S.13

Mitglied
Hier ist mein Code und im Anhang ist die Aufgabe Stellung. Es wäre cool, wenn ihr mir helfen könnt. Danke !SmartSelect_20230116_154916_gutefrage.jpg


Java:
public static long waysHome(int length, int x, int y) {

if (x == length && y == 0) { // Base case: reached the end

return 1;

} else if (x > length || y < 0 || y > (length - x)) { // Edge case: exceeded the boundary

return 0;

} else {

// Recursive case: count the number of ways to reach the end by going right and swaying left or right

return waysHome(length, x + 1, y) + waysHome(length, x + 1, y + 1) + waysHome(length, x + 1, y - 1);

}

}
 

LimDul

Top Contributor
Was ist dein Problem? Auf den ersten Blick Blick sieht deine Addtion zu 66.67% richtig aus. In der Aufgabenstellung steht das er immer schwankt. Also die y-Koordinate sich immer ändern muss
 

George_S.13

Mitglied
Was ist denn die Frage?
Ein Methode public static long waysHome(int length, int x, int y) { implementieren, die dann dagt wie viele Möglichkeiten das length hat. Z.B. mit der Länge 4 gibt genau zwei Möglichkeiten. Zum einem das dreieck wie oben und das rechts neben das und so muss die Möglichkeiten von der Länge 22 gefunden werden.
 

berndoa

Top Contributor
Zum Grundproblem:
Wie dir schnell klar sein müsste, muss Rudi genauso oft nach links wie nach rechts gehen, um eben Anfangs von der Wand wegzugehen und am Ende wieder an der Wand anzukommen.
Heißt bei 22 Schritten dass 11 davon rechts und 11 links sein muss.

Lediglich die Reihenfolge ist beliebig machbar.
Also guck mal auf wie viele Wege man 11 R und 11 L in einer Reihe anordnen kann ;-)

Lässt sich eigentlich schneller mathematishc lösen aber man kann auch durchaus einfahc mal alle möglichkeiten durchprobieren und mitzählen :)

Edit:
EInschränkung halt dass zu jedem Zeitpunkt die Anzahl an benutzten Ls >= der Anzahl an benutzten Rs sein muss
 

berndoa

Top Contributor
Zum Grundproblem:
Wie dir schnell klar sein müsste, muss Rudi genauso oft nach links wie nach rechts gehen, um eben Anfangs von der Wand wegzugehen und am Ende wieder an der Wand anzukommen.
Heißt bei 22 Schritten dass 11 davon rechts und 11 links sein muss.

Lediglich die Reihenfolge ist beliebig machbar.
Also guck mal auf wie viele Wege man 11 R und 11 L in einer Reihe anordnen kann ;-)

Lässt sich eigentlich schneller mathematishc lösen aber man kann auch durchaus einfahc mal alle möglichkeiten durchprobieren und mitzählen :)

Edit:
EInschränkung halt dass zu jedem Zeitpunkt die Anzahl an benutzten Ls >= der Anzahl an benutzten Rs sein muss
Eine Variante, wie du durchgehen könntest,
wäre einfahc mal alle Kombinationen aus bspw. 11 Ls und 11 Rs zu bilden,
dann mit einem laufenden Zähler durch Jede durchzugehen und die zu kicken wo zwischendrin der Wert negativ wird
(zähler bei null starten, beim linksgehen +1, beim rechtsgheen -1 machen bspw.),
dann musst du die verbleibenden kombinationen nur noch zählen. :)
 

Neue Themen


Oben