Thread Zufalls-LOTTO-Zahlen (9 answers)
Opened by pax77 at 2008-01-29 19:55

Ronnie
 2008-01-30 19:31
#105367 #105367
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Hallo pax77,

die Anmerkungen von Taulmarill, bezüglich der Favoriten in meiner Lösungs sind wichtig. Ansonsten hast du recht, auf check_double habe ich verzichtet, könnte man aber auch Recht schön mit der Hilfe von CPAN:List::MoreUtils machen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use List::Util qw/sum min/;
use List::MoreUtils qw/pairwise/;

sub distance {
    my ($i, $j) = @_;
    no warnings;
    my $distance = sum pairwise { $a != $b } @$i, @$j;
    return $distance;
}

sub distance_to_any {
    my ($i, $l) = @_;
    return min ( map distance( $i, $_ ), @$l  );
}

print distance ([1, 2, 3, 4], [1, 8, 5, 7]) . "\n";
print distance_to_any ( [1, 2, 3, 4], [ [1, 8, 5, 7], [1, 2, 3, 9] ] )

Wie taulmarill aufgezeigt hat, geht es auch gut ohne zusätzliche Module, mit Bordmitteln.

Gruß,
Ronnie

View full thread Zufalls-LOTTO-Zahlen