Thread Rätsel der Woche 2007/6: Viel Spaß beim halbdutzendsten RDW in 07 (19 answers)
Opened by Ishka at 2007-03-06 18:52

Ishka
 2007-03-06 18:52
#74824 #74824
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Momentan habe ich 11 Aufgaben vorrätig. 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).
RDW 2007/6 - Raetsel der Woche Nummer 6 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: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 Adresse dafür lautet:

          ishka <---Minus---> rdw <---At---> kettenbruch <---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:
~~~~~~~~~~~~
        Schreibe ein Programm, das mehr als 0 Zeichen enthält, was sich
        selbst wieder ausgibt (dies soll nicht dadurch gelöst werden, daß
        man die Datei ausliest, in der das Programm gespeichert ist).

        Wenn möglich, dann halte den Ausgabecode austauschbar, so
        daß der Programmcode in einer Variablen steht und das print
        durch beliebigen anderen Code ersetzt werden kann (zB. als
        Ausgabe in Ascii-Art, oder in einem Fenster).
\n\n

<!--EDIT|Ishka|1173199990-->
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}

View full thread Rätsel der Woche 2007/6: Viel Spaß beim halbdutzendsten RDW in 07