Сколько случайных строк генерирует этот код? - PullRequest
0 голосов
/ 21 июля 2010

Я рассматриваю этот генератор случайных строк в perl:

sub generate_random_string {
    my $length = 12;
    my @chars = qw/2 3 4 5 6 7 8 9 A B C D E F G H J K M N P Q R S T U V W X Y Z/;
    my $str = '';
    $str .= $chars[int rand @chars] for 1..$length;
    return $str;
}

Сколько уникальных строк это сгенерирует?Если я увеличу длину строки, сколько еще уникальных строк будет доступно?

Кроме того, как рассчитать вероятность создания одной и той же строки дважды (при условии, что длина строки остается равной 12)?

1 Ответ

3 голосов
/ 21 июля 2010

Ответ: (1/31) ^ 12

Или более обобщенно: (1 / (количество символов)) ^ длина

...