Solution to Exercise 1.16:

`(define (even? n)`

(= (remainder n 2) 0))

```
```(define (square x)

(* x x))

(define (it-fast-expt b n)

(iter 1 b n))

`(define (iter a b n)`

(cond ((= n 0) a)

((even? n) (iter a (square b) (/ n 2)))

(else (iter (* a b) b (- n 1)))))

Advertisements

## One thought on “Solution to SICP Exercise 1.16”

Comments are closed.