Which choice would be a recursive solution to the factorial n! problem?
int fact(int n) { if (n <= 0) return 1; else return (fact(n-1) * n); }
void fact(int n) { if (n <= 0) return 0; else return 1; }
int fact(int n) { if (n <= 0) return 1; else return (fact(n) * (n-1)); }
int fact(int n) { if (n >= 0) return 1; else return (fact(n-1) * n); }