factrl.cpp

来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 28 行

CPP
28
字号
double factrl(int n)
{
    double a[33],temp;
	int ntop,j;
    ntop = 0;
    a[1] = 1.0;
    if( n < 0 )
	{
        cout<<"negative factorial";
        exit(1);
	}
    else if (n <= ntop)
	{
        temp = a[n + 1];
	}
    else if (n <= 32)
	{
        for( j = ntop + 1;j<=n;j++)
            a[j + 1] = j * a[j];
        ntop = n;
        temp = a[n + 1];
	}
    else
        temp = exp(gammln(n + 1.0));
	return temp;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?