]]> ]]>

Факториал в ML

Пример для версий Objective Caml 3.10.2

Используется рекурсивное определение факториала. Значения факториалов, начиная с 13!, отрицательны из-за переполнения:

12! = 479001600
13! = -215430144
14! = -868538368
15! = -143173632
16! = -143294464
let rec factorial n =
    if n <= 1 then
      1
    else
      factorial (n-1) * n;;

let () =
  for n = 0 to 16 do
    Printf.printf "%d! = %d\n" n (factorial n)
  done;

Комментарии

]]>

blog comments powered by Disqus

]]>

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