黄金分割
* * * *
拉格朗日计划
* * * *
黄金分割

打印黄金分割率$\varphi=(\sqrt5+1)/2$的前1000位(小数点后999位)。

本题难度:



解答

用$\varphi$的连分数展开作计算: $$\varphi=1+\frac{1}{1+\frac{1}{1+\ldots}},$$ 不难看出有限项后截断所得分数就是斐波那契数列中的连续两项之比$a_{n+1}/a_{n}$。

最后为了便于输出,整数部分和小数点直接写在输出字符串中,再利用$\varphi$的小数部分就是$1/\varphi$的性质,输出$a_{n}/a_{n+1}$作为小数部分。

最终代码只有一行。

代码长度:59字节 vs. 全站第一:53字节。

a,b=1,2;exec('a,b=b,a+b;'*2500);print('1.'+str(a*10**1000//b))