Die Türme von Hanoi
Im fernen Hanoi schlichten und schichten sie immer noch, die armen Mönche, und solange irgendwo auf der Erde Informatik unterrichtet wird, werden sie sicherlich auch keine Ruhe finden. Wie machen das die fleißigen Burschen eigentlich seit Millionen von Jahren? Also, wie gehabt: wir wollen die Scheiben vom Turm 1 auf den Turm 2 bringen, als Hilfe steht uns der Turm 3 zu Verfügung:
- Wenn du nur eine Scheibe zu verschieben hast, dann geht's dir gut - mach' es einfach und du bist fertig.
- Ansonsten aber:
- Schiebe alle Scheiben außer der letzten mit Hilfe von Turm 2 von Turm 1 nach Turm 3
- Dann hebe die letzte (größte) Scheibe vom Turm 1 auf Turm 2. Uff!
- Zuletzt staple noch die Scheiben von Turm 3 mittels Turm 1 auf Turm 2
#!/usr/bin/perl
use strict; use warnings;
scheibenschmeissen($ARGV[0], "1", "2", "3");
sub scheibenschmeissen {
my ($n, $t1, $t2, $t3) = @_;
if ($n == 1) {
print "Scheibe von Turm $t1 auf Turm $t2\n";
} else {
scheibenschmeissen($n - 1, $t1, $t3, $t2);
scheibenschmeissen(1, $t1, $t2, $t3);
scheibenschmeissen($n - 1, $t3, $t2, $t1);
}
}
So, und das nächste mal gibt's dann die Geschichte von dem Vogerl, das seinen Schnaberl
alle 1000 Jahre einmal am Diamantberg wetzt, und dann wieder wegfliegt, und dann ...
