0

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

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

所以,

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

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

4

1 回答 1

0

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

于 2012-06-07T05:46:33.293 回答