Math 随机生成的密码中出现3个字符字符串的概率

Math 随机生成的密码中出现3个字符字符串的概率,math,passwords,Math,Passwords,如果您有一个随机生成的密码,仅由字母数字字符组成,长度为12,并且比较不区分大小写(即“a”==“a”),那么该密码中出现一个长度为3的特定字符串(例如“ABC”)的概率是多少 我知道可能的组合总数是(26+10)^12,但除此之外,我有点迷茫。对数学的解释也会很有帮助。来扩展Paul R的答案。概率(对于同样可能的结果)是事件的可能结果数除以可能结果总数 在长度为12的字符串中可以找到长度为3的字符串的10个可能位置。还有9个点可以用任何其他字母数字字符填充,这就有了36^9的可能性。因此,您

如果您有一个随机生成的密码,仅由字母数字字符组成,长度为12,并且比较不区分大小写(即“a”==“a”),那么该密码中出现一个长度为3的特定字符串(例如“ABC”)的概率是多少


我知道可能的组合总数是(26+10)^12,但除此之外,我有点迷茫。对数学的解释也会很有帮助。

来扩展Paul R的答案。概率(对于同样可能的结果)是事件的可能结果数除以可能结果总数

在长度为12的字符串中可以找到长度为3的字符串的10个可能位置。还有9个点可以用任何其他字母数字字符填充,这就有了
36^9
的可能性。因此,您活动的可能结果数量为
10*36^9

将其除以结果总数
36^12
。你的答案是
10*36^-3=0.000214

编辑:这并不完全正确。在这个解决方案中,有些情况是重复计算的。然而,它们对概率的贡献很小,所以这个答案在小数点后11位仍然是正确的。如果您想要完整答案,请参阅尼莫的答案。

字符串“abc”可以出现在第一个位置,使字符串如下所示:

abcXXXXXXXXX
…其中X可以是任何字母或数字。有(26+10)^9个这样的字符串

它可以出现在第二个位置,使字符串看起来像:

XabcXXXXXXXX
还有(26+10)^9个这样的字符串

由于“abc”可以出现在从第一个位置到第十个位置的任何位置,因此有10*36^9个这样的字符串

但这会导致计数过多,因为它会对这样的字符串计数(例如)两次:

abcXXXabcXXX
所以我们需要像这样计算所有的字符串,然后从总数中减去它们

由于此模式中有6个X,因此有36^6个字符串与此模式匹配

我得到7+6+5+4+3+2+1=28个这样的模式。(如果第一个“abc”位于开头,则第二个可以位于7个位置中的任何一个。如果第一个“abc”位于第二个位置,则第二个可以位于6个位置中的任何一个。依此类推。)

所以减去28*36^6

…但这会减去太多,因为它会减去三次字符串,而不是一次:

abcXabcXabcX
所以我们必须像这样加回字符串,两次。我得到了这些模式中的4+3+2+1+3+2+1+2+1+1=20,这意味着我们必须再加上2*20*(36^3)

但是数学计算了这个字符串四次:

abcabcabcabc
…所以我们必须减去3

最后答覆:

10*36^9 - 28*36^6 + 2*20*(36^3) - 3
除以36^12得到你的概率


另见。如果
A
不等于
C
,则
ABC
在一个长度
n
的字符串中发生的概率
p(n)
(假设每个字母数字符号的可能性相同)为

在哪里

P(0)=P(1)=P(2)=0 and P(3)=1/(36)^3

这是不对的。请看我对@Paul的回答的评论。@Nemo:谢谢你指出错误。我会再仔细考虑一下。对不起,我想我做出了一个无效的推论:-)注意@Nemo更迂腐的答案给出了一个匹配小数点后8位的数字结果。这个问题也属于
http://math.stackexchange.com/
@Jason:谢谢。对不起,如果我的评论有点激烈。现在我只想知道是谁否决了我:-)。此外,我认为你应该像tskuzzy那样删除你的答案,并在最后加上免责声明。我认为你的方法比其他方法更准确,而且肯定比完整的分析更简单。那应该是
28*36^6
。@Nemo:没关系。SIWOTI综合征。请注意,这给出的答案在数值上与我之前的解决方案(0.0002143)给出的答案几乎相同,我现在由于令人讨厌的否决投票而被迫删除了该解决方案:@Paul:近似值没有错,只要你知道你在做近似值。如果你的回答显示出这种意识,我就不会投反对票了。如前所述,这是错误的,所以我按下向下按钮并解释了原因。如果你认为这是不合适的,我愿意倾听,在这里或在聊天。
P(0)=P(1)=P(2)=0 and P(3)=1/(36)^3