public static void factorial(double n) {
BigInteger ans = BigInteger.ONE;
BigInteger result = BigInteger.ONE;
for (int j = 1; j <= n; j++) {
ans = ans.multiply(BigInteger.valueOf(j));
result = result.add(ans);
}
BigInteger i = BigInteger.ONE;
System.out.println(result.subtract(i));
}
20之前的阶乘可以用long类型的数据就能够完成,更大一点就需要使用BigInteger这个类了。此处仅仅是提供方法,是自己对着API,慢慢打出来的、大家看看就好。