求一个浮点数的阶乘

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:36:58
如何求一个浮点数的阶乘(注意:是浮点数,整数就免回答了!),有没有这样的库函数?谢谢!!
系统自带的计算器可以计算浮点数的阶乘啊!!!

二楼的ksr0578,你的结果差很远,

Gamma函数定义为非整数的阶乘,因为当x是正整数n的时候,Gamma函数的值是n-1的阶乘。
伽玛函数(Gamma Function)
Γ(x)=∫e^(-t)*t^(x-1)dt (积分下限是零上限是+∞)(x<>0,-1,-2,-3,……)
运用积分的知识,我们可以证明Γ(x)=(x-1) * Γ(x-1)
所以,当x是整数n时,Γ(n) = (n-1)(n-2)……=(n-1)!
这样Gamma 函数实际上就把阶乘的延拓。

可以根据定义编程了

阶乘运算只对整数有意义

#include<iostream.h>
float factorial(float num)
{
if(num<=1)
return 1;
else
return num*factorial(num-1);
}
int main()
{
float number;
cout<<"enter a number";
cin>>number;
cout<<factorial(number);
return 0;
}

vc下使用

浮点数的阶乘没有意义。
微软计算机的算法可能是有问题的。

浮点阶乘什么意思啊