📄 unit2.pas
字号:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,unit1, Controls, Forms, Dialogs;
Function FACTLN(N:INTEGER):real;
Function GAMMLN(xx:real):real;
implementation
Function GAMMLN(XX:real):real;
const
STP=2.50662827465; HALF=0.5; ONE=1.0; FPF=5.5;
var
X,TMP,SER:double;
J:integer;
COF:array[1..6] of double;
begin
COF[1]:=76.18009173; COF[2]:=-86.50532033;
COF[3]:=24.01409822; COF[4]:=-1.231739516;
COF[5]:= 0.120858003e-2; COF[6]:=-0.536382e-5;
X:=XX-ONE;
TMP:=X+FPF;
TMP:=(X+HALF)*Ln(TMP)-TMP;
SER:=ONE;
For J:=1 To 6 do
begin
X:=X+ONE;
SER:=SER+COF[J]/X
end;
GAMMLN:=TMP+Ln(STP*SER);
end;
Function FACTLN(N:integer):real;
var
I:integer;
A:array[1..100] of real;
begin
For I:=1 To 100 do
A[I]:=-1;
If N < 0 Then ShowMessage('警告:现在N<0,请修改程序');
If N <= 99 Then
begin
If A[N + 1] < 0 Then A[N + 1]:=GAMMLN(N + 1);
FACTLN:=A[N + 1];
end
Else
FACTLN:=GAMMLN(N + 1);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -