import java.math.BigInteger; public class Fact { public static BigInteger factorial(int n) { if(n < 0) { throw new IllegalArgumentException(); } if(n == 0 || n == 1) { return BigInteger.ONE; } return BigInteger.valueOf(n).multiply(factorial(n - 1)); } /* this is javas answer to Python's starguments */ public static int atom(int... nums) { int out = 0; /*for(int k: nums) { out += k; }*/ for(int k = 0; k < 4; k++) { out += nums[k] } return out; } public static void main(String[] args) { System.out.println(factorial(100)); System.out.println(factorial(3)); //System.out.println(factorial(-3)); System.out.println(atom(1,2,3,4,5)); System.out.println(atom()); } }