如下的代码内容是关于Java计算1-n个数阶乘的和的代码。
import java.math.BigInteger;
public class Test02{
public static BigInteger summation(int n){
BigInteger sum = new BigInteger("0");
for(int i=1; i<=n; i++){
sum = sum.add(factorial(i));
}
return sum;
}
public static BigInteger factorial(int n){
if(n > 0){
return BigInteger.valueOf(n).multiply(factorial(n-1));
return BigInteger.ONE;
}
}
public static void main(String[] args){
for(int i=1; i<=30; i++){
System.out.println(i + " 的阶乘 = " + factorial(i));
}
for(int i=1; i<=30; i++){
System.out.println("从1到" + i + "的阶乘的总和 = " + summation(i));
}
}
}
运行结果
运行结果:
1 的阶乘 = 1
2 的阶乘 = 2
3 的阶乘 = 6
4 的阶乘 = 24
5 的阶乘 = 120
6 的阶乘 = 720
7 的阶乘 = 5040
8 的阶乘 = 40320
9 的阶乘 = 362880
10 的阶乘 = 3628800
11 的阶乘 = 39916800
12 的阶乘 = 479001600
13 的阶乘 = 6227020800
14 的阶乘 = 87178291200
15 的阶乘 = 1307674368000
16 的阶乘 = 20922789888000
17 的阶乘 = 355687428096000
18 的阶乘 = 6402373705728000
19 的阶乘 = 121645100408832000
20 的阶乘 = 2432902008176640000
21 的阶乘 = 51090942171709440000
22 的阶乘 = 1124000727777607680000
23 的阶乘 = 25852016738884976640000
24 的阶乘 = 620448401733239439360000
25 的阶乘 = 15511210043330985984000000
26 的阶乘 = 403291461126605635584000000
27 的阶乘 = 10888869450418352160768000000
28 的阶乘 = 304888344611713860501504000000
29 的阶乘 = 8841761993739701954543616000000
30 的阶乘 = 265252859812191058636308480000000
从1到1的阶乘的总和 = 1
从1到2的阶乘的总和 = 3
从1到3的阶乘的总和 = 9
从1到4的阶乘的总和 = 33
从1到5的阶乘的总和 = 153
从1到6的阶乘的总和 = 873
从1到7的阶乘的总和 = 5913
从1到8的阶乘的总和 = 46233
从1到9的阶乘的总和 = 409113
从1到10的阶乘的总和 = 4037913
从1到11的阶乘的总和 = 43954713
从1到12的阶乘的总和 = 522956313
从1到13的阶乘的总和 = 6749977113
从1到14的阶乘的总和 = 93928268313
从1到15的阶乘的总和 = 1401602636313
从1到16的阶乘的总和 = 22324392524313
从1到17的阶乘的总和 = 378011820620313
从1到18的阶乘的总和 = 6780385526348313
从1到19的阶乘的总和 = 128425485935180313
从1到20的阶乘的总和 = 2561327494111820313
从1到21的阶乘的总和 = 53652269665821260313
从1到22的阶乘的总和 = 1177652997443428940313
从1到23的阶乘的总和 = 27029669736328405580313
从1到24的阶乘的总和 = 647478071469567844940313
从1到25的阶乘的总和 = 16158688114800553828940313
从1到26的阶乘的总和 = 419450149241406189412940313
从1到27的阶乘的总和 = 11308319599659758350180940313
从1到28的阶乘的总和 = 316196664211373618851684940313
从1到29的阶乘的总和 = 9157958657951075573395300940313
从1到30的阶乘的总和 = 274410818470142134209703780940313