factrl.f90
来自「FORTRANvisualfortran常用数值算法集及源码」· F90 代码 · 共 23 行
F90
23 行
FUNCTION factrl(n)
INTEGER n
REAL factrl
!USES gammln
INTEGER j,ntop
REAL a(33),gammln
SAVE ntop,a
DATA ntop,a(1)/0,1./
if (n<0) then
pause 'negative factorial in factrl'
else if (n<=ntop) then
factrl=a(n+1)
else if (n<=32) then
do j=ntop+1,n
a(j+1)=j*a(j)
end do
ntop=n
factrl=a(n+1)
else
factrl=exp(gammln(n+1.))
endif
END FUNCTION factrl
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?