24 lines
640 B
Plaintext
24 lines
640 B
Plaintext
|
/******************************************************/
|
|||
|
/* This program evaluates the Factorial function (n!) */
|
|||
|
/* using recursion. */
|
|||
|
/******************************************************/
|
|||
|
rfact:
|
|||
|
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) recursive;
|
|||
|
declare
|
|||
|
i fixed;
|
|||
|
if i = 0 then return (1);
|
|||
|
return (i * factorial(i-1));
|
|||
|
end factorial;
|
|||
|
|
|||
|
end rfact;
|
|||
|
|
|||
|
|