题目描述
用高精度计算出S=1!+2!+3!+…+N!(N≤50),其中"!"表示阶乘,例如:5!=5*4*3*2*1。
输入正整数N,输出计算结果S。
输入
每个测试文件只包含一组测试数据,每组输入一个正整数N。
输出
对于每组输入数据,输出阶乘和的计算结果。
分析:高精度直接上Java
//package demo;
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int s=input.nextInt();
BigInteger sum = BigInteger.valueOf(0);
for(int i=1;i<=s;i++)
{
BigInteger f = BigInteger.ONE;
for(int j=1;j<=i;j++)
{
f = f.multiply(BigInteger.valueOf(j));
}
sum=sum.add(f);
}
System.out.println(sum);
input.close();
}
}