/******************************************************/ /* 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;