Scheme Exponents

Detta schemakodsexempel visar hur man implementerar exponenter genom att höja en given bas av en given exponent genom successiv kvadrering.


Med tanke på basen b och exponenten n, bestämmer koden om exponenten är noll, i vilket fall den returnerar en. Annars bestämmer den om n är jämn och kan delas med två eller om en udda anpassning behöver utföras först.

(definiera (exp b n)
(cond ((= n 0) 1); 0 basfall
((= n 1) b); 1 basfall
((jämna n) (exp (kvadrat b) (/ n2))), jämnt fall med användning av (b2) ^ n / 2
(annars (* b (exp b (+ n-1)))); udda fall med användning av b * b ^ n-1
)

Frågor / kommentarer: [email protected]
-William. § (marvin_gohan)