如何有效地找到nPr(排列)?

时间:2013-08-09 19:01:14

标签: math permutation

有没有比使用基本公式n!/(n-r)更好的方法!就像我们有nCr(组合)nCr =(n-1)Cr +(n-1)C(r-1)?

1 个答案:

答案 0 :(得分:3)

这个怎么样: nPr =(n-1)Pr +(n-1)P(r-1)⋅r

基本原理: nPr 表示从 n 中选择 r 元素的方式的数量,同时注意到它们的顺序而不是将它们放回去。在上面的递归中,我区分了两种情况。您要么不选择 n 元素,在这种情况下,您将从一组(n-1)中选择所有 r 元素< / em>的。或者您也将选择 n 元素,在这种情况下,您将从一组中选择其他(r-1)元素(n-1),并且在您选择 n 元素的顺序中的哪个点有 r 可能性。

除此之外,还要注意,您可以通过仅考虑差异来避免产生两个因素:

  n
─┬──┬─       n!
 │  │   i = ──── = (n−r+1)⋅(n−r+2)⋅…⋅(n−1)⋅n = nPr
 │  │        r!
i=n−r+1

这导致另一个递归公式: nPr =(n-1)P(r-1)⋅n