Это просто любопытство с моей стороны, но что более эффективно, рекурсия или цикл?
Для двух функций (с использованием общего lisp):
(defun factorial_recursion (x)
(if (> x 0)
(* x (factorial_recursion (decf x)))
1))
а также
(defun factorial_loop (x)
(loop for i from 1 to x for result = 1 then
(* result i) finally
(return result)))
Что более эффективно?