Description
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
Input
只有一行,一个正整数n。
Output
只有一行,一个正整数S。
Sample Input
48
Sample Output
12678163798554051767172643373255731925167694226950680420940313
又一道大数题……正好可以用来练习JAVA
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner (new BufferedInputStream(System.in));
int j=1,n=cin.nextInt();
String sum="0";
while(n>0)
{
BigInteger p=BigInteger.valueOf(j);
for(int i=1;i<=n;i++){
BigInteger q=BigInteger.valueOf(i);
p=p.multiply(q);
}
BigInteger w=new BigInteger(sum);
w=w.add(p);
sum=w.toString();
n--;
}
System.out.println(sum);
}
}