Php 如何制作一个脚本,输出两个数字(N!/M!)的阶乘比率?

Php 如何制作一个脚本,输出两个数字(N!/M!)的阶乘比率?,php,math,Php,Math,我有一个找到n阶乘的代码: $n = 5; $factorial = 1; function fact($n) { for ($i = 1; $i <= $n; $i++) { $factorial *= $i; } } echo $factorial; 但是,我怎样才能找到两个数N的阶乘之比呢!/M 你可以在你的函数中添加一个return,然后给她打两次电话: $n = 5; $m = 2;

我有一个找到n阶乘的代码:

    $n = 5;
    $factorial = 1;

    function fact($n)
   { 
       for ($i = 1; $i <= $n; $i++) {
           $factorial *= $i;
       }
   }
   echo $factorial;

但是,我怎样才能找到两个数N的阶乘之比呢!/M

你可以在你的函数中添加一个return,然后给她打两次电话:

$n = 5;
$m = 2;

function fact(Int $n) : Int{ 
   $factorial = 1;
   for ($i = 1; $i <= $n; $i++) {
       $factorial *= $i;
   }
   return $factorial;
}

$factorialOfTwoNumbers = fact($n) / fact($m);
嗯,你在那里用@Kyoto的答案做了很多不必要的数学运算

//返回N/M 函数阶乘比$n,$m{ 如果$n==$m{ 返回1; }如果$n>m,则为else{ 返回部分因子$n,$m+1; }否则{ 返回1/partial_阶乘$m,$n+1; } } 函数部分分解$begin,$end{ 如果!$begin>$end{ 抛出新\例外开始必须大于结束; } $out=$begin; 对于$f=$begin-1;$f>=$end;-$f{ $out*=$f; } 退回$out; } 因子比率123456789、123456788; 输出:[以20ms为单位]

int(123456789)
例如:


这里是我要开始的地方:函数twoFactorial$n,$m{…}。京都谢谢你,伙计!!!!
( 1 * 2 * 3 * 4 * 5 ) / ( 1 * 2 * 3 ) == ( 4 * 5 )