安排:n中x个元素有多少独特的可能性

时间:2014-07-28 13:31:40

标签: php math probability

我不擅长数学,所以我被困在这里。 我需要在N中得到X元素的可能排列总数(我认为,或者可能是排列?)。

  • 我想在N(N>=X
  • 中选择X个不同的元素
  • 命令很重要
  • 每个元素组合不能超过一次

=>例如,给定$N = count(1,2,3,4,5,6,7,8,9)$X=6元素的有效组合可以是:

 - 1,4,5,3,2,8
 - 4,2,1,9,7,3

我需要在PHP中使用什么公式来获得可能性的总数?

2 个答案:

答案 0 :(得分:2)

第一个元素有N个选择,第二个元素有N-1(因为你已经选择了1),然后是第三个元素的N-2选择,依此类推。你可以使用阶乘法来表达这个N! /(N-X-1)!见https://en.wikipedia.org/wiki/Permutations

答案 1 :(得分:0)

好的,我想我明白了。

$set = array(A,B,C,D,E,F,G);
$n = count($set);
$k = 6;

if($n>0)
{
    if($k < $n)
    { 
        $outcomes = gmp_fact($n) / gmp_fact($n-$k);
    } 
    else 
    { 
        $outcomes = gmp_fact($n);
    }
} else { $outcomes = 0; }

其中gmp_fact($ n)是$ n的php函数! (n阶乘),表示N x(N-1)x ... x 1