from math import sqrt
n = int(input())
phi = (1 + sqrt(5))/2
fib_n = round((phi**n))
print(fib_n)
上面提到的代码是不正确的,它给出了一些更接近 fib_n 的值。
from math import sqrt
n = int(input())
phi = (1 + sqrt(5))/2
fib_n = round((phi**n)/sqrt(5))
print(fib_n)
在第 6 行除以 sqrt(5) 后,此代码绝对完美。
我的疑问是:
- 除以 sqrt(5) 有什么意义,为什么只有 sqrt(5) 而不是任何其他数字?
- 我可以使用地板或天花板(或任何其他)解决同样的问题,而不用除以根(5)吗?
非常感谢任何帮助/指导/资源!