/* Factorial computes n! recursively.
 *
 * Receive:   n, an integer
 * Return:    n! (or -1 if n is negative)
 *******************************************/

int Factorial(int n)
{
   if (n == 0)
      return 1;                    // anchor case
   else if (n > 0)
      return n * Factorial(n-1);   // inductive step
	else                           // invalid parameter 
	{
      cout << "n! is not defined for negative n\n";
      return Ð1;
	}
}


