/ Published in: Lisp
Large factorials are easy to do in LISP, although a number above (2000!) may crash it. I designed this because of an online post from a mathematician talking about the number 1000! . Code like this is difficult to write in C-like languages, but a snap in LISP, as the following code demonstrates.
Expand |
Embed | Plain Text
(defun factorial(x) (cond ((zerop x) 1) ('T (* x (factorial (1- x)))) )) (factorial 1000)
Comments
Subscribe to comments
You need to login to post a comment.

Recursive function use stack. this is stack-less version of factorial function which should work for very large factorials (like 10000 and more) which use tail recursion (which is replace to iteration by compiler)
(defun ! (n &optional (product 1))
(if (zerop n)
product
(! (1- n) (* product n))))