Java Reference
In-Depth Information
Abbildung 17.5: Zugmöglichkeiten eines Springers
Lösung:
int feldAnzahl = 25;
boolean geloest = false;
void main() {
loeseSpringerProblem();
}
void loeseSpringerProblem() {
gib();
feldAnzahl = feldAnzahl - 1;
if (feldAnzahl == 0) { // Problem geloest!
geloest = true;
return;
}
/*
* von einem Feld aus hat der Hamster maximal 8
* Sprungmoeglichkeiten und zwar in jeder Blickrichtung 2;
* wenn eine Sprungmoeglichkeit erreichbar ist und dort
* noch kein Korn liegt, springt der Hamster dorthin
* und ruft den Algorithmus rekursiv auf
*/
int richtungen = 0;
while (!geloest && (richtungen < 4)) {
if (erstesSprungZielBelegbar()) {
geheZumErstenSprungZiel();
loeseSpringerProblem();
if (geloest) {
return;
}
geheZurueckVomErstenSprungZiel();
}
if (zweitesSprungZielBelegbar()) {
geheZumZweitenSprungZiel();
loeseSpringerProblem();
if (geloest) {
return;
Search WWH ::




Custom Search