hi,
@philwolters
die 'türme von hanoi' ist folgendes:
man hat 3 senkrechte stangen auf einem holzbrett befestigt. auf einer dieser stangen befinden sich n durchlöcherte scheiben verschiedener größe. es liegt nie eine größere auf einer kleineren scheibe. nun musst du diese n scheiben auf eine andere stange transportieren, wobei du jeweils nur eine scheibe bewegen darfst und nie eine größere auf einere kleinere legen darfst.
@foo2
das problem wird normalerweise per rekursion gelöst, wobei folgender algorithmus eigentlich klappen müsste....ich hoffe, sowas geht auch in logo
quelle, hilf und ziel stehen für die stapel, n ist die anzahl der scheiben...
procedure turm (int quelle, int hilf, int ziel, int n) {
wenn (n = 0)
ausgabe "bewege quelle nach ziel";
sonst {
turm (quelle, ziel, hilf, n-1);
turm (quelle, 0, ziel, 0);
turm (hilf, quelle, ziel, n-1);
}
}
aufgerufen wird das ganze dann mit: turm(0,1,2,n);
wobei 0,1 und 2 für die stapel stehen und n für die anzahl der scheiben, also z.b. für 3 scheiben (turm(0,1,2,3)) müsste die ausgabe lauten:
bewege 0 nach 2
bewege 0 nach 1
bewege 2 nach 1
bewege 0 nach 2
bewege 1 nach 0
bewege 1 nach 2
bewege 0 nach 2
zieh dir einfach mal den algorithmus rein.......falls du noch fragen hast.....immer her damit
gruß.
[Editiert von Edwin am 16.12.2000 um 05:55]