我正在制作一个没有 BigInteger、BigDecimal 等的涉及大数字的项目。我已经设法完成了所有基础知识,但现在我需要增加计算阶乘的能力。我的 BigNumber 将数据存储为 int[] 。
这是 BigInteger 的示例解决方案,但如果没有我的号码的实际值,我将无法使用它。
BigInteger n = BigInteger.ONE;
for (int i=1; i<=20; i++) {
n = n.multiply(BigInteger.valueOf(i));
System.out.println(i + "! = " + n);
}
那么如何计算价值呢?将整数从最后一个到第一个相加,将 10 乘以 10,将 100 乘以 100 等等,然后将其存储多久?
BigInteger 的来源:http: //developer.classpath.org/doc/java/math/BigInteger-source.html