Решил я сравнить две реализации функции вычисления факториала с поддержкой больших чисел. Первая реализация на Ocaml:
Но меня поразила многословность ocaml!
let rec fact x= if(le_big_int x (big_int_of_int 1))
then
big_int_of_int 1
else
mult_big_int x (fact (pred_big_int x))
let y = fact(big_int_of_int 40)
let res=string_of_big_int y
Вторая реализация на Scheme:
(define (bigfact x)
(if (= x 1)
1
(* x (bigfact (- x 1)))))
(bigfact 40)
Обе функции выдают правильный ответ: 815915283247897734345611269596115894272000000000
Но меня поразила многословность ocaml!
Комментариев нет:
Отправить комментарий