public class Factorial { public static void main(String[] args) { long out; System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE); out = factorial(20); System.out.println("20! = " + out); out = factorial(21); System.out.println("21! = " + out); } public static long factorial(long n) { long result = 1; for ( int i = 1; i <= n; i++ ) { result = result * i; } return result; } }