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