import java.math.BigInteger; public class Factorial { /* returns the n factorial, or -1 if it does not exist; works up to 20 */ public static long factorial (long n) { if (n > 1) return n * factorial(n - 1); else if (n >= 0) return 1; else return -1; } /* returns the n factorial, or -1 if it does not exist (in the form of BigInteger) */ public static BigInteger bigFactorial (int n) { if (n > 1) return new BigInteger(String.valueOf(new BigInteger(String.valueOf(n)).multiply(bigFactorial(n - 1)))); else if (n >= 0) return new BigInteger("1"); else return new BigInteger("-1"); } }DOWNLOAD
Created: February 12, 2014
Completed in full by: Michael Yaworski