HomeComputer programmingScheme: Exponents

Scheme: Exponents

This Scheme code example shows how to implement exponents by raising a given base by a given exponent through succesive squaring.


Given the base b and the exponent n, the code determines if the exponent is zero, in which case it returns one. Otherwise, it determines if n is even and can be divided by two or if an odd adaptation needs to be performed first.

(define (exp b n)
(cond ((= n 0) 1) ;0 base case
((= n 1) b) ;1 base case
((even? n) (exp (square b) (/ n 2))) ;even case using (b^2)^n/2
(else (* b (exp b (+ n -1))))) ;odd case using b*b^n-1
)

Questions/Comments: [email protected]
-William. § (marvin_gohan)

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

LATEST REVIEWS

Recent Comments

error: Content is protected !!