let rec facto_rec n =
if n = 0 then 1 else n * facto_rec (n-1)
let facto_for n =
let r = ref 1 in
for i = 1 to n do
r := !r * i
done;
!r
let facto_while n =
let m = ref 1 in
let r = ref 1 in
while !m <= n do
r := !r * !m;
m := !m + 1;
done;
!r
|