15 lines
406 B
Text
15 lines
406 B
Text
factorial = proc (n: int) returns (int) signals (negative)
|
|
if n<0 then signal negative
|
|
elseif n=0 then return(1)
|
|
else return(n * factorial(n-1))
|
|
end
|
|
end factorial
|
|
|
|
start_up = proc ()
|
|
po: stream := stream$primary_output()
|
|
|
|
for i: int in int$from_to(0, 10) do
|
|
fac: int := factorial(i)
|
|
stream$putl(po, int$unparse(i) || "! = " || int$unparse(fac))
|
|
end
|
|
end start_up
|