Thread Rätsel der Woche 2007/2: viel Spaß beim Rätseln
(35 answers)
Opened by Ishka at 2007-02-05 14:03
Nachdem das letzte Rätsel so gut angekommen ist, kann ich doch nicht umhin gleich eine neue Aufgabe zu stellen :)
Übrigends habe ich momentan 13 Aufgaben vorrätig, aber Vorschläge für neue Rätsel nehme ich immer gerne an (bitte als Mail und als Betreff für Vorschläge rdw-vorschlag enthalten lassen (in klein), damit ich die besser sortieren kann). RDW 2007/2 - Raetsel der Woche Nummer 2 des Jahres 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Regeln: ~~~~~~~ * Bitte nicht vor Ablauf der ersten 72 Stunden (= drei Tage) nach Veröffentlichung Hinweise, Spoiler, Lösungen oder Lösungsteile posten! * Verständnisfragen dürfen selbstverständlich auch vor Ablauf der drei Tage in diesem Thread gestellt werden. Diskussionen über Lösungsansätze gehören aber nicht hierher. * Die Verwendung von Modulen ist generell erlaubt, wird jedoch das ganze Problem von einem Modul erschlagen, so macht das die Lösung langweilig -- und das ist nicht unbedingt der Sinn dieser Rätsel. * Erst wenn die drei Tage abgelaufen sind, werden Lösungen in das Wiki gestellt und hier verlinkt. * Sobald die Lösungen veröffentlicht wurden darf hier natürlich über sie diskutiert werden. * Die Lösungen sollten nicht unbedingt von jedem Einzelnen gepostet, sondern vor allem per E-Mail an mich geschickt werden, damit ich sie testen, "bewerten" und zusammenfassen kann. Die Adrese dafür lautet: stephan <---Punkt---> barth <---At---> gmx <---Punkt---> de Im Betreff sollte 'RDW' (also wirklich RDW und nicht Rätsel der Woche oder andere Ausformulierungen) und die Nummer des Rätsels stehen. Hilfreich wäre neben dem Quelltext der Benutzername im Forum sowie Perl- und OS-Version (siehe auch perl -v). Die Aufgabe: ~~~~~~~~~~~~ Gib zu einer Liste von Wörtern, die dem Programm als Parameter übergeben werden, zu jedem Wort mit - getrennt die Silben aus. Schreibe intern dazu eine Funktion, welche zu einem gegebenen Wort dieses in Silben zerlegt und als Liste zurückgibt. Das Programm muß nicht alle Wörter fehlerfrei zerlegen (kann es ohne Wörterbuch auch gar nicht), sollte aber auch nicht aus einem sehr langen Wörterbuch bestehen, nichtmal zur Erkennung der Grenzen zwischen zusammengesetzen Wörtern (wenn man ein Wörterbuch einbauen will, dann maximal 5 Wörter im Wörterbuch und Kommentar dazu, wie man es vergrößert. Die Golflösungen brauchen keine eigene Funktion dafür zu schreiben. Ferner sollen die Golf-interessierten selbst ausmachen, nach welchen Kritereien getrennt wird (würden sie unterschiedliche verwenden, würde das die Vergleichbarkeit der Längen gefährden). Beispiel: ~~~~~~~~~ Parameter: Hallo Welt Minute Silben Besen hinterher Wankelmut Ausgabe: Hal-lo Welt Mi-nu-te Sil-ben Be-sen hin-ter-her Wan-kel-mut\n\n <!--EDIT|Ishka|1170677050--> sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t] "if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep !$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1} |