]]> ]]>

Факториал в 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

]]>

Работа программистам