使用该系列的java近似值

时间:2017-10-11 02:05:20

标签: java approximate

我需要使用该系列来近似e:e = 1+ 1/1! +1/2!+ ... + 1 / N! n = 100000这就是我所做的,但它拒绝编译..

v19.0.0

2 个答案:

答案 0 :(得分:0)

您的代码有两个问题:

  1. 您需要将e定义为double。
  2. 100000是进行多次迭代的方法,您可以使StackOverflow在18年代的迭代中达到最大精度并获得1.7182818284590455。之后它不会改变。
  3. 它也不是e,但这是一个单独的问题。如果你真的想得到e的近似值,你还需要添加一个。或者从double e = 1开始。

答案 1 :(得分:0)

我会使用双打而不是长号来防止任何错误。

绝对没有必要进行100000次迭代。你最多可以在100之后停止。

因为e = 1 + 1 / n!从e = 1开始,或者你将获得1.718。

像这样的阶乘方法会简单得多,而不必自称

public static double factorial(int number) 
  {
  double factorial = 1;
  while (number>1)
  {
      factorial*=number;
      number--;
    }
  return factorial;
 }