利用Python解決將黃金比例計算至100位
def fibs(x,a=1,b=1):
if x is 1:
return (a,b)
else:
temp=a;
a+=b
b=temp
return fibs(x-1,a,b)
res=fibs(240) chushu=res[0] beichushu=res[1] print(Decimal(str(beichushu))/Decimal(str(chushu)))
另一種就是2分法開根號
def _sqrt(a):
x1=Decimal(a)
x2=Decimal(a)/2
while abs(x1-x2)>1e-100:
x1=x2
x2=(x1+Decimal(a)/x1)/2
return x1,x2
黃金比例=(√5-1)/2 其中√5精確到100位那麼最終的黃金比例也就能精確到100位
最終結果:
0.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748476