如下的代碼內(nèi)容是關于Java計算1-n個數(shù)階乘的和的代碼卡辰。
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));?
? ? ? ? }? ? ? ? ? ? ? ?
? ? }?
}
運行結(jié)果
運行結(jié)果:
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