我目前正在学习 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。
有人可以解释这可能意味着什么吗?
慕桂英3389331
慕斯王
繁星淼淼
相关分类