无限级数:While循环以无限结束

本文关键字:无限 结束 循环 While | 更新日期: 2023-09-27 18:14:59

我想计算一个系列,但我没有得到我的do. while循环正确。用户在输入x中进行了输入,然后将其总结如下:Sum = Sum + x/2 ^ n,其中n为运行变量

必须循环,直到和<= 0.00001。

然后程序将通知用户和的值以及运行变量的大小。

我的代码:

public static int n = 0;
static void Main(string[] args)
{
double x, sum = 0, e = 0.00001;
Console.Write("input x: ");
x = Convert.ToDouble(Console.ReadLine());
do
{
  sum = sum + x / Math.Pow(2,n);
  n++;
} while (sum >= e);
Console.WriteLine ("Sum = " + sum + ", " + n + " count");
}

但是我的代码导致了无限循环。你有什么好主意,我该怎么做?

无限级数:While循环以无限结束

循环,直到sum非常小;您应该循环,直到增量非常小:

var delta = e;
do
{
  delta = x / Math.Pow(2,n);
  sum = sum + delta;
  n++;
} while (delta >= e);