欧拉常数(Euler-Mascheroni constant )
由于ln(1+1/n)<1/n (n=1,2,3,…)
于是调和级数的前n项部分和满足
Sn=1+1/2+1/3+…+1/n>ln(1+1)+ln(1+1/2)+ln(1+1/3)+…+ln(1+1/n)
=ln2+ln(3/2)+ln(4/3)+…+ln[(n+1)/n]
=ln[2*3/2*4/3*…*(n+1)/n]=ln(n+1)
由于
lim Sn(n→∞)≥lim ln(n+1)(n→∞)=+∞
所以Sn的极限不存在,调和级数发散。
但极限S=lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)却存在,因为
Sn=1+1/2+1/3+…+1/n-ln(n)>ln(1+1)+ln(1+1/2)+ln(1+1/3)+…+ln(1+1/n)-ln(n)
=ln(n+1)-ln(n)=ln(1+1/n)
由于
lim Sn(n→∞)≥lim ln(1+1/n)(n→∞)=0
因此Sn有下界
而
Sn-S(n+1)=1+1/2+1/3+…+1/n-ln(n)-[1+1/2+1/3+…+1/(n+1)-ln(n+1)]
=ln(n+1)-ln(n)-1/(n+1)=ln(1+1/n)-1/(n+1)
将ln(1+1/n)展开,取其前两项,由于舍弃的项之和大于0,故
ln(1+1/n)-1/(n+1)>1/n-1/(2n^2)-1/(n+1)=1/(n^2+n)-1/(2n^2)>0
即ln(1+1/n)-1/(n+1)>0,所以Sn单调递减。由单调有界数列极限定理,可知Sn必有极限,因此
S=lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)存在。
lim[1/(n+1)+1/(n+2)+…+1/(n+n)](n→∞)=lim[1+1/2+1/3+…+1/(n+n)-ln(n+n)](n→∞)-lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)+lim[ln(n+n)-ln(n)](n→∞)=γ-γ+ln2=ln2
——————————————————————————————————————————————————————————————
这是一个求S=1+1/2+1/3+1/4+1/5+1/6+...1/n的程序:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long n;
double S; //设S=1+1/2+1/3+1/4+1/5+1/6+...1/n
cin>>n;
S=0.57721566490153286060651209+log(n);//C++里面用log(n),pascal里面用ln(n),e的对数
cout<<S<<endl;
return 0;
}