dos_compilers/Digital Research PLI-86 v1/DFACT.PLI

26 lines
768 B
Plaintext
Raw Normal View History

2024-06-30 21:01:25 +02:00
/******************************************************/
/* This program evaluates the Factorial function (n!) */
/* using recursion and FIXED DECIMAL data. */
/******************************************************/
dfact:
procedure options(main);
declare
i fixed;
do i = 0 repeat(i+1);
put skip list('Factorial(',i,')=',factorial(i));
end;
stop;
factorial:
procedure(i) returns(fixed decimal(15,0))
recursive;
declare
i fixed;
if i = 0 then return (1);
return (decimal(i,15) * factorial(i-1));
end factorial;
end dfact;