用while判读循环语句1+1/2!+1/3!+...1/20!的和阶乘的计算方法 式:n!=n*(n-1)!


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);


}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM