Wolfram Research Interview Question

Tail recursive function for calculating factorial. (I did it in scheme)

Interview Answers

Anonymous

Apr 6, 2011

(define fact (lambda (n k) (cond [(zero? n) (k 1)] [else (fact (sub1 n) (lambda (v) (k (* n v))))])))

1

Anonymous

Apr 7, 2011

int factAux (int x, int result) { if (x==0) return result; return factAux(x-1, result * x); } int tailRecursiveFact( int x) { return factAux (n, 1); } Source: www.cs.umbc.edu/courses/undergraduate/341/fall05/Lectures/Recursion/recursion2.ppt

Anonymous

Apr 7, 2011

Good One!