【问题标题】:Counting the passwords of length N using an alphabet containing M characters使用包含 M 个字符的字母计算长度为 N 的密码
【发布时间】:2014-09-29 18:15:30
【问题描述】:

比如说,我们的字母表中有 M 个字符。我们要形成长度为 N 的密码(或字符串)。约束是所有密码必须包含输入字母表中的每个字符至少一次。那么,有多少个这样的密码呢?

另外,M

示例 1: M = 4,N = 4,答案 = 24

Answer = M! or N! (all permutations of length 4)

示例 2: M = 2,N = 3,答案 = 6

Let M = {a, b}
Possible passwords are {aab, aba, baa, bba, bab, abb}

那么,对于给定的 M 和 N 值,我们能否推导出计算此类密码的通用公式?

【问题讨论】:

  • 我没有时间给出完整的答案,但您是否考虑过您的排列/组合的总和?
  • @BrianJ,是的,我想到了这种方法:从 N 中选择 M 个位置,然后排列它 M!次,然后对剩余的 (N-M) 个位置重复此过程,最后将所有这些数字相乘。但是,它没有给出正确的答案。

标签: combinations permutation dynamic-programming combinatorics counting


【解决方案1】:

终于,我得到了答案:

答案 = 米! * S(n, m)

其中,S(n, m) = Stirling number of second kind

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多