Php 如何制作一个脚本,输出两个数字(N!/M!)的阶乘比率?
我有一个找到n阶乘的代码: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 = 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 )