21 lines
359 B
Plaintext
21 lines
359 B
Plaintext
class MAIN is
|
|
|
|
-- recursive
|
|
fact(a: INTI):INTI is
|
|
if a < 1.inti then return 1.inti; end;
|
|
return a * fact(a - 1.inti);
|
|
end;
|
|
|
|
-- iterative
|
|
fact_iter(a:INTI):INTI is
|
|
s ::= 1.inti;
|
|
loop s := s * a.downto!(1.inti); end;
|
|
return s;
|
|
end;
|
|
|
|
main is
|
|
a :INTI := 10.inti;
|
|
#OUT + fact(a) + " = " + fact_iter(a) + "\n";
|
|
end;
|
|
end;
|