File: FEXAKT.PS of Tape: Various/Decus/decus-3
(Source file text) 

PROGRAM FAKTORIELLE(OUTPUT);
CONST NMAX=65;
      ZMAX=50;
VAR A: ARRAY[0..NMAX] OF INTEGER;
    U,J,K,I: INTEGER;
    C: INTEGER;
BEGIN
  FOR I:=0 TO NMAX DO A[I]:=0;
  A[NMAX]:=1;
  FOR J:=1 TO ZMAX DO
    BEGIN
    U:=0;
    FOR I:=NMAX DOWNTO 0 DO
        BEGIN
        C:=A[I]*J;
        A[I]:=(C+U) MOD 10;
        U:=(C+U) DIV 10;
        END;
    WRITELN;
    WRITE(J:3," FAK = ");
    K:=0;
    WHILE A[K]=0 DO
        BEGIN
        K:=K+1;
        WRITE(" ")
        END;
    FOR K:=K TO NMAX DO WRITE(A[K]:1);
    END
END.