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!的計算結果等於:\n" + sum);
}
}