Conway常数
* * * *
拉格朗日计划
* * * *
Conway常数

Conway常数$\lambda$是与外观数列的增长相关的常数。 它也是以下多项式的唯一正根: \begin{align*} &x^{71}-x^{69}-2x^{68}-x^{67}+2x^{66}+2x^{65}+x^{64}-x^{63}-x^{62}-x^{61}-x^{60} \\ &-x^{59}+2x^{58}+5x^{57}+3x^{56}-2x^{55}-10x^{54}-3x^{53}-2x^{52}+6x^{51}+6x^{50} \\ &+x^{49}+9x^{48}-3x^{47}-7x^{46}-8x^{45}-8x^{44}+10x^{43}+6x^{42}+8x^{41}-5x^{40} \\ &-12x^{39}+7x^{38}-7x^{37}+7x^{36}+x^{35}-3x^{34}+10x^{33}+x^{32}-6x^{31}-2x^{30} \\ &-10x^{29}-3x^{28}+2x^{27}+9x^{26}-3x^{25}+14x^{24}-8x^{23}-7x^{21}+9x^{20} \\ &+3x^{19}-4x^{18}-10x^{17}-7x^{16}+12x^{15}+7x^{14}+2x^{13}-12x^{12}-4x^{11}-2x^{10} \\ &+5x^9+x^7-7x^6+7x^5-4x^4+12x^3-6x^2+3x-6 \end{align*} 打印该常数的前1000位(小数点后999位)。

本题难度:



解答

没找到什么好方法,此处取$x_0=1.3$为初值,用牛顿法 $$x_k=x_{k-1}-\frac{f(x_{k-1})}{f'(x_{k-1})}$$ 迭代99次来计算给定多项式的根,并用标准库的decimal包作浮点计算以达到1000位精度。

最终代码有七行。

代码长度:269字节 vs. 全站第一:164字节。

from decimal import*
getcontext().prec=1002
x=Decimal(1.3)
p=[i-48for i in b"*3*<,7)105.,$27<)&,39)0(>-92-&.*1:-17)7$+86:(()-9166.-&.352/////122/./01"]
r=lambda f:sum(j*x**i for i,j in enumerate(f))
exec('x-=r(p)/r([i*p[i]for i in range(1,72)]);'*99)
print(str(x)[:-1])