我目前正在阅读 Nakov 的《C# 计算机编程基础》一书。在第 4 章问题 12 中指出:
编写一个程序,计算以下序列的总和(精度为 0.001):1 + 1/2 - 1/3 + 1/4 - 1/5 + …
在我看来,这是一个相对简单的问题。该系列是没有渐近线的递减分数。由于值变化减小而在某个点停止循环符合 AFAIC 的精度要求。然而,这本书的匈牙利语和英语版本中给出的解决方案都提到了一个(对我来说)晦涩难懂的值 1.307。如下:
在一个while循环内的一个变量中累积序列的总和(参见“循环”一章)。在每一步都将旧总和与新总和进行比较。如果两个和 Math.Abs(current_sum – old_sum) 之间的差值小于所需的精度 (0.001),则计算应该完成,因为差值在不断减小并且精度在循环的每一步都在不断增加。预期结果为 1.307。
有人可以解释这可能意味着什么吗?