Thread Rätsel der Woche 2007/1: viel Spaß beim Rätseln (14 answers)
Opened by Ishka at 2007-01-29 16:54

Ishka
 2007-01-29 16:54
#73814 #73814
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Nachdem die Rätsel der Woche immer so schön waren, habe ich beschlossen mit Hilfe von murphy und betterworld diese Rätseltradition neu zu beleben.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
RDW 2007/1 - Raetsel der Woche Nummer 1 des Jahres 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Regeln:
~~~~~~~
        * Bitte nicht vor Ablauf der ersten 72 Stunden ( = drei Tage ) nach
          Veroeffentlichung Hinweise (Spoiler) oder Loesungen veroeffent-
          lichen!

        * Wenn diese Zeit abgelaufen ist, werden in diesem Thread die
          Loesungen gepostet werden und koennen diskutiert werden
          (auf keinen Fall vorher).

        * Die Loesungen sollten nicht nur gepostet, sondern auch an mich ge-
          mailt werden, damit ich sie testen, "bewerten"  und zusammenfassen
          kann. Die Adrese dafuer lautet:

          stephan <---Punkt---> barth <---At---> gmx <---Punkt---> de

          Im Betreff sollte 'RDW' und die Nummer des Raetsels stehen. Hilf-
          reich waere neben dem Quellcode der Username im Forum sowie Perl-
          und OS-Version (siehe auch perl -v).

        * Verstaendnisfragen duerfen in diesem Thread gestellt werden, aber
          Tipps und (Teil-) Loesungen sind hier unerwuenscht.

        * Ich werde die eingeschickten Programme im Netz zur Verfuegung
          stellen, so dass gerade lange Quellcodes nicht (komplett)
          gepostet werden muessen.

        * Zur Verwendung von Modulen: Ich moechte diese nicht generell aus-
          schliessen, aber wenn quasi die komplette Aufgabe durch die Ver-
          wendung eines Moduls ersetzt werden kann, ist dies vielleicht nicht
          der Sinn der Aufgabe gewesen.


Die Aufgabe:
~~~~~~~~~~~~
         Gib zu einem natürlichzahligen (Zahl ohne Nachkommateil größer 0)
         Parameter alle Möglichkeiten aus, diesen als Summe natürlicher Zahlen,
         die der Größe nach sortiert sind (also jede Ausgabezeile für sich
         sortiert, nicht die Zeilen sortiert), zu schreiben.

Beispiel:
~~~~~~~~~
         Eingabe:
         3
         Ausgabe:
         3
         2+1
         1+1+1

         Eingabe:
         5
         Ausgabe:
         5
         4+1
         3+2
         3+1+1
         2+2+1
         2+1+1+1
         1+1+1+1+1
\n\n

<!--EDIT|Ishka|1170088241-->
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/1: viel Spaß beim Rätseln