| 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);
}
|