package com.chongrui.test;
/*
*用while判读循环语句1+1/2!+1/3!+...1/20!的和
*使用BigDecimal类完成大数字与高精度运算
公式:n!=n*(n-1)!
阶乘的计算方法
阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。
* */
import java.util.Scanner;
import java.math.BigDecimal;
public class test {
public static void main(String[] args) {
BigDecimal sum = new BigDecimal(0.0);//和
BigDecimal factorial = new BigDecimal(1.0);//阶乘项的计算结果
int i =1;
while(i<=20){
sum = sum.add(factorial); // 累加各项阶乘的和
++i;
factorial= factorial.multiply(new BigDecimal(1.0/i));// 计算阶乘项
//java.math.BigInteger.multiply(BigInteger val) 返回一个BigInteger,其值是 (this * val).
}
System.out.println("1+1/2!+1/3!···1/20!的计算结果等于:
" + sum);
}
}