Racket | C++ |
---|---|
(define factorial-product (lambda (a b) ; compute a x b! (if (= b 0) ; as (a x b) x (b-1)! a (factorial-product (* a b) (- b 1))))) (define factorial (lambda (n) (factorial-product 1 n))) |
int factorialProduct(int a, int b) { if (b == 0) return a; else return factorialProduct(a*b, b-1); } int factorial(int n) { return factorialProduct(1, n); } |