输入一个正整数n,计算1+1/3+1/5+...的前 n 项之和?

如题所述

正整数等差数列的倒数所组成的数列,称为调和数列。目前为止,数学家们尚未找到它的求和公式。因此,对于本题,通常是通过编程进行计算。

如果要计算分数表达的精确结果,那么分母可能达到几十位甚至更多位数。因为,通分的分母为3、5、7....n的最小公倍数,随着n的增加,分母的位数快速增多。

更实际的方法,是计算它的高精度近似值,比如几十位有效数字。

以下为fortran编写的代码,具体算法见绿色字体注释。有效位数为65位。

下面附若干计算的实例:

n=12345678 时

sum = 9.1461633131476963906983897608142474387988201213409769421862086363

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-05-30

对于这类问题,我们可以先查看序列之间的关系,得出第i个序列的数为1/(2*i+1),故可设置一个求和变量sum,令它的初始值为1,再加入一个for循环语句,每循环一次,sum的值变为sum+1.0/(2*i+1),一直循环n次,就能得出结果啦~

望采纳~

本回答被网友采纳
相似回答