📄 factrl.pas
字号:
FUNCTION factrl(n: integer): real;
(* Programs using routing FACTRL must declare the variables
VAR
glntop: integer;
gla: ARRAY [1..33] OF real;
and initialize the values
glntop := 0;
gla[1] := 1.0;
in the main routine. *)
VAR
j: integer;
BEGIN
IF (n < 0) THEN BEGIN
writeln('pause in FACTRL - negative factorial'); readln END
ELSE IF (n <= glntop) THEN BEGIN
factrl := gla[n+1] END
ELSE IF (n <= 32) THEN BEGIN
FOR j := glntop+1 TO n DO BEGIN
gla[j+1] := j*gla[j]
END;
glntop := n;
factrl := gla[n+1]
END ELSE BEGIN
factrl := exp(gammln(n+1.0))
END
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -