(lambda (p q) (if (or (< q 0) (> q p)) 0 (let C ((x p)(y 1)(z q)(a 1)) (if (zero? z) a (C (- x 1)(+ y 1) (- z 1)(/ (* a x) y)))))) ((fileVal "binomial") 5 3) ; => 10 (let ((C (fileVal "binomial"))) (let e ((n 10) (s (C 10 0))) (if (= 0 n) s (e (- n 1) (+ s (C 10 n)))))) ; => 1024