php 实现组合数C(m,n)的多种组合的计算方法:m为在多少个数中;n为取多少个为一组,不能重复取
function calculatePermutation($m, $n)
{
if ($n > $m) {
$sum = 0;
} elseif ($n == $m) {
$sum = 1;
} elseif ($n == 0) {
$sum = 0;
} elseif ($n == 1) {
$sum = $m;
} elseif ($n > 1) {
$sum_m = $sum_n = 1;
$difference = $m - $n;
for ($i = $n + 1; $i <= $m; $i++) {
$sum_m = $sum_m * $i;
}
for ($j = 1; $j <= $difference; $j++) {
$sum_n = $sum_n * $j;
}
$sum = $sum_m / $sum_n;
} else {
$sum = 0;
}
return $sum;
}
测算 :
calculatePermutation(5, 3) =10