Java利用while循环计算1+1/2!+1/3!……+1/20!

编写程序,用while语句计算1+1/2!+1/3!……+1/20!,并在控制泰山输出计算结果。要求1+1/2!+1/3!……+1/20!,其实就是求1+1*1/2+1*1/2*1/3+……+1*1/2*1/3*……*1/20。

import java.math.BigDecimal;
public class Jiecheng {
    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; // i加1
            factorial = factorial.multiply(new BigDecimal(1.0 / i)); // 计算阶乘项
        }
        System.out.println("1+1/2!+1/3!···1/20!的计算结果等于:
" + sum); // 输出计算结果
    }
}

 效果如图所示:

原文地址:https://www.cnblogs.com/cysolo/p/3541329.html