sicp-solutions/chapter-1/ex-1.16.scm

8 lines
200 B
Scheme

#lang sicp
(define (expt-aux b n a)
(cond ((= n 0) a)
((even? n) (expt-aux (* b b) (/ n 2) a))
(else (expt-aux b (- n 1) (* a b)))))
(define (solution b n)
(expt-aux b n 1))