问题: 望哪位大侠帮解下这道题1+1/2+1/3+1/4+1/5+……+1/100=?答案或简便算法.帮帮忙
如题,我是菜鸟,不知道怎么算,只有靠大家了…
解答:
我还真不会算~ 呵呵,找了个相近的题目,你参考下看看
在网上七拼八凑而成的
1+1/2+1/3+1/4+1/5+……1/n=?
当n很大时,有:1+1/2+1/3+1/4+1/5+1/6+...1/n = 0.57721566490153286060651209 + ln(n)//C++里面用log(n),pascal里面用ln(n)
0.57721566490153286060651209叫做欧拉常数
1+1/2+1/3+…+1/n是没有好的计算公式的,所有计算公式都是计算近似值的,且精确度不高。
自然数的倒数组成的数列,称为调和数列.人们已经研究它几百年了.但是迄今为止没有能得到它的求和公式只是得到它的近似公式(当n很大时):
1+1/2+1/3+......+1/n≈lnn+C(C=0.57722......一个无理数,称作欧拉初始,专为调和级数所用)
得到公式, 用C++实现就容易了
long double Sn( const unsigned int& n ) { const long double euler = 0.57721566490153286060651209;
return ( log( static_cast<long double>(n) ) + euler );
}
一个可以计算欧拉常数的递推公式的
euler= 1 + 1/2 + ... + 1/m -ln(m) - 1/(2m) + 1/(12m^2) - 1/(120m^4) + 1/(252m^6)- o(m)
其中
|o(m)| <= 22.5*(m * PI)^(-7)
因此只要选择一个合适的m使o(m)不影响精度即可
例如,当m=5的时候,精度高于1E-7.
版权及免责声明
1、欢迎转载本网原创文章,转载敬请注明出处:侨谊留学(www.goesnet.org);
2、本网转载媒体稿件旨在传播更多有益信息,并不代表同意该观点,本网不承担稿件侵权行为的连带责任;
3、在本网博客/论坛发表言论者,文责自负。