import java.math.BigDecimal; //BigDecimal类在math中
//int只能算到13阶乘,long只能算到20阶乘 ,BigDecimal
public class jiecheng {
// 利用do while循环,计算1!+2!+3!+....+100!的总和
public static void main(String[] args) {
BigDecimal num1=new BigDecimal(2);
BigDecimal num2=new BigDecimal(1);
BigDecimal num3=new BigDecimal(1);
BigDecimal sum=new BigDecimal(0);
BigDecimal n=new BigDecimal(101);
do {
sum=sum.add(num3); //sum等于本身加上下一个阶乘
num3=num3.multiply(num1); //num3*num1等于下一个阶乘值
num1=num1.add(num2); //num1每次循环加1
}while(num1.compareTo(n)<=0); //当num1大于100时跳出循环
System.out.print("1!+2!+3!+....+100!="+sum); //输出结果
}
}