Thread etwas kompliziertere Permutation, Prüfungsszenario (8 answers)
Opened by Gast at 2005-05-19 18:12

Taulmarill
 2005-05-19 21:31
#55070 #55070
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
solche permutationsgeschichten lassen sich eigendlich immer mit rekursion lösen (auch wenn ich zugeben muss, dass diese hier besonders verzwickt war)
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use Data::Dumper;

my @menge = 1 .. 4;
my @iter = rec(@menge);

print Dumper \@iter;

sub rec {
return () unless ( @_ > 1 );
my $first = shift;
map {
my ( $second, $rest ) = @$_;
[ [ $first, $second ], $rest ? @$rest : () ]
} map {
my @tmp = @_;
my ( $second ) = splice @tmp, $_, 1;
[ $second, rec(@tmp) ]
} 0 .. @_ - 1
}

sollte eigendlich die anforderungen erfüllen, oder hab ich was übersehen?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B

View full thread etwas kompliziertere Permutation, Prüfungsszenario