1+1/2+1/3+1/3+……+1/n 的算法程序,快些

Flying3689
2012-06-18 · TA获得超过2787个赞
知道小有建树答主
回答量:650
采纳率:0%
帮助的人:266万
展开全部
第四项是1/4吧
这个数列叫做调和级数
其和是发散的
有限项求和是数学史上的一个难题
由数学家欧拉于1734年解出近似值
具体推导过程如下:
首先列出幂级数
ln(1+x) = x - x^2/2 + x^3/3 - ...
(具体推导过程参见牛顿的《流数法》)
所以ln(1+1/x) = 1/x - 1/2x^2 + 1/3x^3 - ...
于是
1/x = ln((x+1)/x) + 1/2x^2 - 1/3x^3 + ...
代入x=1,2,...,n,可得出:
1/1 = ln(2) + 1/2 - 1/3 + 1/4 -1/5 + ...
1/2 = ln(3/2) + 1/2*4 - 1/3*8 + 1/4*16 - ...
......
1/n = ln((n+1)/n) + 1/2n^2 - 1/3n^3 + ...
相加可得
1+1/2+1/3+1/4+...1/n = ln(n+1) + 1/2*(1+1/4+1/9+...+1/n^2) - 1/3*(1+1/8+1/27+...+1/n^3) + ......
第二项开始后面的数列是收敛的,定义和为r
则1+1/2+1/3+1/4+...1/n = ln(n+1) +r
欧拉近似地计算了r的值,约为0.5772156649。这个数值也被称作欧拉常数。

如果用C语言编程求解
#include<stdio.h>   
int main()   
{   
int k,i=0;   
double S=0;   
scanf("%d",&n);   
while(i<n)   
{ i++;   
S+=1.0/i;   
}   
printf("%d\n",S);   
}
注意:本程序由于浮点误差,当n过大时结果可能不准确;但算法是正确的,仅供参考。
flyffwish
2012-06-19 · TA获得超过145个赞
知道答主
回答量:171
采纳率:100%
帮助的人:99.1万
展开全部
java:
public static double sum(int n){
double d=0;
for(int i=1;i<=n;i++){
d+=(double)1/i;
}
return d;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xyb325
2012-06-18 · TA获得超过565个赞
知道小有建树答主
回答量:187
采纳率:50%
帮助的人:56.3万
展开全部
int f(int n)
{
float i;
float sum=0;
for(i=1;i<=n;i++)
sum=sum+1/i;
return sum;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式