(defun ! (n) (reduce #'* (loop for i from 1 to n collect i))) (defun C () (* 426880 (rationalize (sqrt 10005)))) (defun M (k) (/ (! (* 6 k)) (! (* 3 k)) (expt (! k) 3))) (defun L (k) (+ (* 545140134 k) 13591409)) (defun X (k) (expt -262537412640768000 k)) (defun pi-fraction (k) (* (C) (/ 1 (loop for i from 0 to k sum (/ (* (M i) (L i)) (X i)))))) (format t "~a~%" (pi-fraction 10))