Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.49 KB | None | 0 0
  1. #lang scheme
  2.  
  3. (define (power b n)
  4.   (define (square x)
  5.     (* x x))
  6.   (define (even? n)
  7.     (= (remainder n 2) 0))
  8.   (define (power-iter a b n)
  9.     (cond ((and (= b 0) (= n 0)) "undefined")
  10.           ((= b 0) 0)
  11.           ((= n 0) a)
  12.           ((even? n) (power-iter a
  13.                                  (square b)
  14.                                  (/ n 2)))
  15.           (else (power-iter (* a b)
  16.                             b
  17.                             (- n 1)))))
  18.     (power-iter 1 b n))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement