RosettaCodeData/Task/Factorial/C/factorial-5.c

12 lines
232 B
C
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
int fac_aux(int n, int acc) {
return n < 1 ? acc : fac_aux(n - 1, acc * n);
}
int fac_auxSafe(int n, int acc) {
return n<0 ? -1 : n < 1 ? acc : fac_aux(n - 1, acc * n);
}
int factorial(int n) {
return fac_aux(n, 1);
}