Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #lang scheme
- (define (power b n)
- (define (square x)
- (* x x))
- (define (even? n)
- (= (remainder n 2) 0))
- (define (power-iter a b n)
- (cond ((and (= b 0) (= n 0)) "undefined")
- ((= b 0) 0)
- ((= n 0) a)
- ((even? n) (power-iter a
- (square b)
- (/ n 2)))
- (else (power-iter (* a b)
- b
- (- n 1)))))
- (power-iter 1 b n))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement