使用递归计算1到100之间的阶层!这里我们要考虑到最后的结果肯定是一个非常巨大的数字所以这里我们考虑BigInteger来接收最后获取的值!
import java.math.BigInteger;
/**
* およそ神
* 实现1-100之间的阶乘
*/
public class Test1 {
public static void main(String[] args) {
System.out.println(mul(new BigInteger("100")));
}
private static BigInteger mul(BigInteger n) {
if (n.intValue() > 1) {
Integer i = n.intValue() - 1;
return n.multiply(mul(new BigInteger(i.toString())));
}
return n;
}
}
最后的结果是:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000