倒数和
数列an 表示满足 $\sum_{i=n}^{k}1/i >=n $的最小k值(k≥n>0,k,n ∈N),如:a(1)=1
a(2)=11
a(3)=51
a(4)=192
a(5)=669
a(6)=2222
a(7)=7135
a(8)=22374
a(9)=68916
a(10)=209348
a(11)=628916
a(12)=1872269
试确定a(10^8) 的值 :lol
用double计算恐怕要丢失精度了
有公式么?
呵呵找到了
有下面的公式 :L这题目太疯狂了吧,10^8:o
难道用欧拉常数来近似? 精度要求多高?
根据无心人找到的结果,就是要找最小的k使得
$Psi(k+1)>=n+Psi(n)$
计算可以使用斯泰林公式,
而且可以知道$Psi(n)$大概是log(n)左右,所以我们知道k大概在$exp(n+Psi(n))$左右,对于这个题目,精确表示几乎不可能.即使能够算出来也不能贴到这里:) 近似的话就是
e^(n+ln(n-1))
精确结果确实也不可能发到这里,呵呵。 见过类似的题目,所以猜测有一些简化的精确计算方法
an 与 e^(n+ln(n-1)) 具体的误差有多大 呵呵
你的初始几个结果如何算的?
如果是程序算的
我也觉得很不好算
这个无法定点校正
一旦超越了1000000000000后几乎会丢失掉大部分结果的精度 可以将Stiring级数逐项求导,得到$Psi(x)$的类似的级数形式.这个我在很久以前推导过,完全可以证明其成立(虽然这些形式级数都是发散的,但是其前面若干项都是围绕者精确值摆动的).而且得到的级数形式还可以继续求导求得更高阶的微分. 如果我们记$F(x)=ln(Gamma(x))-(x-1/2)ln(x)+x$
然后我们需要去证明,对F(x)的任意阶导数都有$lim_{x->infty}F^{(n)}(x)$存在.
得到了这个结论后,结合Stirling级数就可以很容易得出上面的结论了.