大数乘除法

Large number multiplication and division

我正在尝试使用下面提到的代码 (PHP) 来查找概率。计算包括大数的组合计算,使用BCmaths函数却得不到结果。请建议如何做到这一点。

 function combin($n, $r)
{
  $C = 1;

  for ($i=0;   $i < $n-$r;   $i++)
      {
       $C = bcdiv(bcmul($C, $n-$i), $i+1);
      }
  return $C;
}

$dv = (combin(68, 17))*(combin((7866-68),(177-17)))/combin(7866, 177);
echo $dv;
?>```

一旦您开始使用 bc* 函数,您应该在整个代码中继续使用它们。但是,您正在获取这些函数的结果,然后对它们使用标准 PHP 运算符。您应该能够将调用代码更改为:

$dv = bcdiv(combin(7866, 177), bcmul(combin(68, 17), (combin(7866 - 68, 177 - 17))));