Bei mir lags daran, daß ich RD4 nicht eingeschickt hatte und gerade keine Lust hatte auf fremden Code aufzusetzen.
RD4 hatte ich nicht, weil ich ein recht ähnliches Problem schonmal gelöst hatte (allerdings nicht ausbaubar, weil ich damals noch einen sehr unstrict-Stil draufhatte und viel zu viele globale Variablen) und mich nicht dazu motivieren konnte das nochmal zu schreiben.
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}