实列019 计算1!+1/2!+1/3!+...+1/10!的值
1 import java.math.BigDecimal; 2 public class Factorial 3 { 4 public static void main(String[] args) 5 { 6 BigDecimal sum = new BigDecimal(0.0); //使用BigDecimal类 7 BigDecimal factorial = new BigDecimal(1.0); //阶乘项的计算结果 8 int i = 1; //循环增量 9 while(i <= 10) 10 { 11 sum= sum.add(factorial); //累加各项阶乘的结果 12 ++i; //i加 13 factorial = factorial.multiply(new BigDecimal(1.0/i));//计算阶乘项 14 } 15 System.out.println("1+1/2!+1/3!...1/10!的计算结果如下:\n"+sum);//输出计算结果 16 } 17 18 }
备注:1、引用BigDecimal类精确求阶乘的值
2、利用multiply()进行阶乘运算、计算的逻辑如下:如计算1!+1/2!+1/3!+...+1/10!的值
1
1
1*1/2
1+1*1/2
1*1/2*1/3
1+1*1/2+ 1*1/2*1/3
1*1/2*1/3*1/4
1+1*1/2+ 1*1/2*1/3+1*1/2*1/3*1/4
.
.
.