阶乘函数

最近写知码开门的时候发觉经常需要用到阶乘函数,教材上的阶乘函数对1和0两种特殊情况分别进行了定义,这样虽然可以减少计算机的运算次数,但是每次写也够麻烦的。自己设置了一个只有两种情况的,基于递归算法的阶乘程序,仅供参考。

程序名为fact,返回值即为其计算结果。

Ps. long long int型变量似乎只能存下20!,如果需要更大的数值,可以将前面的类型定义为double,不过会丢失一定的精确度。

long long  fact(int n)
{
    if(n==0)
        return 1;
    return n*fact(n-1);
}
分享