;;; -*- Mode:LISP; Package:user; Base:10; Readtable:CL -*- (defun fac (x) (do ((y 1 (+ 1 y)) (ans 1)) ((> y x) ans) (setq ans (* ans y)))) (defun unfac (x) (do ((y 1 (+ 1 y))) ((or (> y x) (= x 1)) x) (setq x (/ x y))))