;;; (hyp r d) hypersphere ;;; computes the volume of an d dimensional sphere ;;; with radius r. for odd 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 (hyp2 r d) (/ (* (expt pi (/(- d 1) 2)) (factorial (/(+ d 1) 2)) (expt 2 (+ d 1)) (expt r d)) (factorial (+ d 1))))