Факториал в ML
Пример для версий
Objective Caml 3.10.2
В этом примере используется вспомогательная функция fact
, позволяющая реализовать хвостовую рекурсию.
let rec fact n accum =
if n <= 1 then
accum
else
fact (n-1) (accum*n);;
let factorial n =
fact n 1;;
let () =
for n = 0 to 16 do
Printf.printf "%d! = %d\n" n (factorial n)
done;
Комментарии
]]>blog comments powered by Disqus
]]>