Leser: 1
7 Einträge, 1 Seite |
Quote1. zeile a ...
2. zeile b ...
3. zeile c ...
4. zeile d ...
5. zeile e ...
6. zeile f ...
1
2
3
4
5
6
7
8
9
10
11
sub funcP {
return [], rec(@_);
}
sub rec {
return () unless @_;
map {
my $first = shift;
[$first], map { [ $first, @$_ ] } rec(@_)
} @_;
}
my @result = grep{ @$_ == 3 } funcP( @menge );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use strict;
use warnings;
use Data::Dumper;
print Dumper(kTeilmengen([1..6], 3));
sub kTeilmengen {
my ($Menge, $k) = @_;
my $n = @$Menge;
return [$Menge] if $n <= $k; # eigentlich $n == $k
return [[]] if $k <= 0; # eigentlich $k == 0
my $e = shift @$Menge;
[
(map { [$e, @$_] } @{kTeilmengen([@$Menge], $k-1)}),
@{kTeilmengen([@$Menge], $k)}
];
}
7 Einträge, 1 Seite |