
C程序设计:设A=1+1/2+1/3+1/4+.......+1/n,若A=50,n=?求高人帮忙啊?感激不尽
1个回答
展开全部
这貌似是个无解问题。
利用“欧拉公式”
1+1/2+1/3+……+1/n
=ln(n)+C,(C为欧拉常数)
具体证明看下面的链接
欧拉常数近似值约为0.57721566490153286060651209
这道题用数列的方法是算不出来的。这是个发散级数。。。。
我写了个程序,显示它的计算过成,越到后边sn的增量越小,算是算不出来。
#include <stdio.h>
int main()
{
double s1 = 1, s2, n, tem;
while( s1 < 50 )
{
s2 = s1 + 1/(n+1.);
n++;
s1 = s2;
printf("n=%f, s1=%f\n", n, s1);
}
printf("%f\n", n);
return 0;
}
利用“欧拉公式”
1+1/2+1/3+……+1/n
=ln(n)+C,(C为欧拉常数)
具体证明看下面的链接
欧拉常数近似值约为0.57721566490153286060651209
这道题用数列的方法是算不出来的。这是个发散级数。。。。
我写了个程序,显示它的计算过成,越到后边sn的增量越小,算是算不出来。
#include <stdio.h>
int main()
{
double s1 = 1, s2, n, tem;
while( s1 < 50 )
{
s2 = s1 + 1/(n+1.);
n++;
s1 = s2;
printf("n=%f, s1=%f\n", n, s1);
}
printf("%f\n", n);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询