擅长:python、mysql、java
<p>有些人会发现这个问题,因为他们有相同的家庭作业,但有些人会发现它,因为他们希望找到一个实际有效的方法来计算卢卡斯数</p>
<p>对于<em>那些</em>的人:根本不需要编写递归函数,只需一点数学知识就可以直接计算任何Lucas数:</p>
<pre><code>golden_ratio = (1 + 5 ** 0.5) / 2
def lucas(n):
if n == 0:
return 2
return round(golden_ratio ** n)
</code></pre>
<p><a href="https://www.youtube.com/watch?v=PeUbRXnbmms" rel="nofollow noreferrer">Done</a></p>
<p>但是,由于我们使用IEEE浮点,这在纸面上是100%正确的,而在<code>n</code>值越来越高的计算机上不是100%正确的,因此您可能需要将其移植到您最喜欢的python数学风格(sympy等)</p>