当我用谷歌搜索“如何找到数字的阶乘”时,我得到了很多答案......
其中一个例子是……
private double getFactorial(double f){
if ( f == 0 )
return 1;
return (f * getFactorial(f - 1));
}
它可以工作......但是,Windows 计算器让我感到惊讶:它也适用于十进制数字!
例如:在 Windows 计算器上,的阶乘0.5
是0.886226925
...
这是期望的行为吗?是否为非整数定义了阶乘?