import java.math.BigInteger; public class Factorial_3_BigInteger { public static final int MAX = 30; /* Return the factorial of n */ public static BigInteger factorial(int n) { BigInteger prod = BigInteger.ONE; for (int i=1; i<=n; i++) prod = prod.multiply(new BigInteger(i +"")); return prod; } public static void main(String[] args) { for (int i=0; i <= MAX; i++) System.out.println(i + "! = " + factorial(i) ); } }