]]> ]]>

Факториал в Lisp

Пример для версий Clojure 1.0.0, Clojure 1.1.0

Используется рекурсивное определение факториала. Функция range с одним аргументом генерирует список чисел от 0 включительно до этого числа исключительно. str — функция конкатенации строк. Функция dec эквивалентна (- x 1). doseq — цикл for в Clojure.

(defn factorial [x]
  (if (< x 2)
    1
    (* x (factorial (dec x)))))

(doseq [i (range 17)]
  (println (str (str i "! = ") (factorial i))))

Комментарии

]]>

blog comments powered by Disqus

]]>

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