Introduction
Statistics
Contact
Development
Disclaimer
Help
sdf.org home page
;;; (hyp r d) hypersphere
;;; computes the volume of an d dimensional sphere
;;; with radius r. for even dimensions d.
;;; factorial & exponent procedures taken from SICP.
;;; joed
(define (factorial n)
(define (iter product counter)
(if (> counter n)
product
(iter (* counter product)
(+ counter 1))))
(iter 1 1))
(define (square x) (* x x))
(define (expt b n)
(cond ((= n 0) 1)
((even? n) (square (expt b (/ n 2))))
(else (* b (expt b (- n 1))))))
(define pi 3.14159)
(define (hyp r d)
(/ (* (expt pi (/ d 2)) (expt r d))
(factorial (/ d 2))))