我正在考虑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)?
答案 0 :(得分:3)
答案是:(1/31)^ 12
或者更一般地说:(1 /(字符数))^长度