仅给出“文本/字符串的长度”,找到可能的排列数

时间:2012-06-07 05:27:12

标签: permutation string-length

例如,给定长度= 4,可能的排列数/数量= 24,12,6,4,1

1234 = 24种排列
1123 = 12个排列
1122 = 6个排列
1112 = 4个排列
1111 = 1个排列

所以,

长度4 = 24,12,6,4,1 长度5 =?
长度6 =?

我想强调的是,我只给出了“字符串的长度”来排列,而不是给出实际的字符串本身。

1 个答案:

答案 0 :(得分:0)

首先,如果我们知道字符串,我们可以将可区分的排列数计算为n!/(a!b!... m!),其中n是字符串的长度,a,b,.. 。,m是每个字符出现在字符串中的次数。因此,要获得所有长度的列表,首先需要计算n的分区数(即,您可以将n写为一个或多个不一致的正整数的无序和的数量)然后,对于每个分区,创建相应的字符串并计算该字符串中字符的可区分排列的数量。