#format cplusplus /* Recursion and TailRecursion Cee example */ #include // Recursion int fact(int n) { if(n < 0) return 0; else if(n == 0) return 1; else if(n == 1) return 1; else return n * fact(n-1); } // TailRecursion int facttail(int n, int a) { if(n < 0) return 0; else if(n == 0) return 1; else if(n == 1) return a; else return facttail(n-1, n*a); } int main(void) { int input=10; printf("\n%d factorial is %d\n", input, fact(input)); printf("\n%d tail factorial is %d\n", input, facttail(input,1)); return 0; }