Не работает.
(defun fastexpt-iter (n p a)
(format t "n: ~A p: ~A a: ~A~%" n p a)
(if (= 1 p)
(* n a)
(if (evenp p)
(fastexpt-iter (* n n) (/ p 2) a)
(fastexpt-iter n (1- p) (* a n)))))
(defun fastexpt (n p)
(if (zerop p)
1
(fastexpt-iter n p 1)))
Что я делаю не так?
fastexpt-iter(n, p, a) = n ^ p * a
.