gpt4 book ai didi

java - 用 Java 更好地近似 e

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:01 25 4
gpt4 key购买 nike

我想将 e 的值近似为任何所需的精度。做这个的最好方式是什么?我能得到的最多的是 e = 2.7182818284590455。任何有关修改以下代码的示例都将不胜感激。

public static long fact(int x){
long prod = 1;
for(int i = 1; i <= x; i++)
prod = prod * i;
return prod;
}//fact

public static void main(String[] args) {
double e = 1;
for(int i = 1; i < 50; i++)
e = e + 1/(double)(fact(i));
System.out.print("e = " + e);
}//main

最佳答案

使用 BigDecimal而不是双。

BigDecimal e = BigDecimal.ONE;
BigDecimal fact = BigDecimal.ONE;

for(int i=1;i<100;i++) {
fact = fact.multiply(new BigDecimal(i));

e = e.add(BigDecimal.ONE.divide(fact, new MathContext(10000, RoundingMode.HALF_UP)));
}

关于java - 用 Java 更好地近似 e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com