Thread Bingokarten erstellen (11 answers)
Opened by frankes at 2010-09-27 22:19

payx
 2010-09-28 15:22
#141547 #141547
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo frankes,

die mögliche Anzahl verschiedener Kärtchen ist etwas geringer als von Dir berechnet, weil ja die Anordnung der Elemente gleichgültig ist.

Die Wahrscheinlichkeit muss also wie bei den Lottozahlen "(n über k) ohne Zurücklegen" errechnet werden:

n!/(k!*(n-k)!)

Lottozahlen: 49!/(6!*(49-6)!) = 13.983.816

Bingokärtchen: 10!/(6!*(10-6)!) = 210

Hier das Script mit Wiederholungsvermeidung. Es funktioniert aber (natürlich) nur gut, wenn $anzahlKaertchen auf einen Wert deutlich unter 210 gesetzt wird:
Code (perl): (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
#!/usr/bin/perl

use strict;
use warnings;

my @begriffe = qw(eins zwei drei vier fuenf sechs sieben acht neun zehn);
my $anzahlKaertchen = 200; # <-- max. 200 bitte!

my %alleKaertchen;

my $i = 1;

while ($i <= $anzahlKaertchen) {
    my @vals = (0..9);
    my @kaertchen;
    for my $j (0..5) {
        my $rand = int(rand()*@vals);
        $kaertchen[$j] = $vals[$rand];
        splice(@vals,$rand,1);
    }

    my $kaertchenID = join ("", sort @kaertchen);
    next if $alleKaertchen{$kaertchenID};

    $alleKaertchen{$kaertchenID} = 1;

    print "Kaertchen Nr. " . $i . ":\n";
    print "\t" . $begriffe[$_] . "\n" for @kaertchen;
    $i++;
}

Weiterhin ohne Überwachung der Verteilung.

HTH
Grüße
payx

View full thread Bingokarten erstellen