我不擅长数学,所以我被困在这里。 我需要在N中得到X元素的可能排列总数(我认为,或者可能是排列?)。
N>=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中使用什么公式来获得可能性的总数?
答案 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