java程序问题: 计算: y=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n(n取1000+)我编的程序哪有问题啊?import java.math.*;public class 计算下式{ public static void main(String args[]){ BigDecimal sum=new BigDecimal("3.0"
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 15:35:32
java程序问题: 计算: y=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n(n取1000+)我编的程序哪有问题啊?import java.math.*;public class 计算下式{ public static void main(String args[]){ BigDecimal sum=new BigDecimal("3.0"
java程序问题: 计算: y=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n(n取1000+)
我编的程序哪有问题啊?
import java.math.*;
public class 计算下式{
public static void main(String args[]){
BigDecimal sum=new BigDecimal("3.0");
BigDecimal n=new BigDecimal("3.0");
for(int i=2;i
java程序问题: 计算: y=3*1!/1+3^2*2!/2^2+3^3*3!/3^3+...+3^n*n!/n^n(n取1000+)我编的程序哪有问题啊?import java.math.*;public class 计算下式{ public static void main(String args[]){ BigDecimal sum=new BigDecimal("3.0"
sum=sum.add(n.divide(new BigDecimal(String.valueOf(Math.pow(i,i)))));
有问题
你在循环里面打印下 n的值
解决之道:就是给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)
BigDecimal除法运算报错,错误如下:Non-terminating decimal expansion; no exact representable decimal result 运算精度有问题
这个数学递归 ,越除越接近0...
全部展开
解决之道:就是给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)
BigDecimal除法运算报错,错误如下:Non-terminating decimal expansion; no exact representable decimal result 运算精度有问题
这个数学递归 ,越除越接近0,不设置精度的话,会报上面的错,设置精度的话就会变成0,所以这种题目应该都会有一个精度计算要求,当精度低于某个值,就不往下循环了,当然要确认是递减函数哦,亲
收起
..