2

我正在上离散数学课程,我遇到了一个问题,我需要你的帮助。我不知道这是否是合适的地方:)

它说:

计算机系统上的每个用户都有一个密码,密码长度为六到八个字符,其中每个字符是一个大写字母或一个数字。每个密码必须至少包含一位数字。有多少个可能的密码?

本书通过添加具有六个、七个和八个字符长密码的概率来解决这个问题。然而,当他求解六个字符的概率时,他会这样做

P6 = 36 6 - 26 6

并且确实

P7 = 36 7 - 26 7

P8 = 36 8 - 26 8

然后将它们全部添加。

我理解解决方案,但我的问题是为什么不计算 P6 = 10*36 5和 P7 和 P8 相同,工作?10代表数字,36代表字母数字?

另外,如果有人可以给我另一种解决方案,而不是书中的解决方案。

非常感谢 :)

4

3 回答 3

3

你忘记了这个数字可以在任何位置。

于 2010-05-18T00:07:55.723 回答
1

如果您这样做36^5 * 10,则意味着“取前五个位置并在其中放置一些随机字母/数字,并用数字填充第六个(并且仅第六个)位置”-但是您的数字可以在每个位置。

考虑以下情况:如果你用字母/数字设置 5 个位置,那么将一个数字放在第六位会产生 10 种可能性(第六个位置可以容纳从 0 到 9 的每个数字),如果你把数字放在前面字母,这将产生另外 10 种可能性(那么,第一位可能包含从 0 到 9 的每个数字),所以乘以 10 你会忘记一些可能性。

如果您想“原始方式”计算它,您可以执行以下操作(我用六个位置进行计算,您可以将其调整为 7 或 8)。由于密码必须至少包含一位数字,因此它可以包含 1、2、3、4、5 或 6 个数字,分别是 5、4、3、2、1 或 0 个字母。

如果您k总共有 6 个位置的数字,则6 over k可以选择这些k位置。这些k位置中的每一个都可以用数字填充,因此您有10^k数字的26^(6-k)可能性和字母的可能性。

所以,对于k数字,你有10^k * 26^(6-k)可能。因此,由于您可以通过多种方式分配k数字6 over k,因此您有

sum(k from 1 to 5: (6 over k) * 10^k * 26^(6-k)) = 36^6-26^6

总共的可能性。

于 2010-05-18T14:40:59.413 回答
1

我了解解决方案,但我的问题是为什么不计算 P6 = 10*36^5 和 P7 和 P8 相同,工作?10代表数字,36代表字母数字?

你通过使用 10 来保证有一个数字,
但是,没有什么可以阻止其他位置的数字(36 个选项)
,这就是为什么你必须得到所有有数字的梳子并减去所有那些没有
导致 P6 = 36^6 - 26^6

如果我认为如果有替代解决方案,我会重新访问这篇文章,但现在我不明白为什么您对提供的解决方案不满意,知道为什么您的解决方案不起作用

于 2010-05-18T14:23:05.590 回答