擅长:python、mysql、java
<p>您没有添加基本情况,这将是递归的基础</p>
<pre><code>def rr(n):
if n < 1:
raise "Invalid input"
if n <= 2:
return 1
return 7 * rr(n-1) + 2 * rr(n-2)
</code></pre>
<p>其运行方式如下:</p>
<pre><code>rr(4) = 7 * rr(4-1) + 2 * rr(4-2)
= 7 * rr(3) + 2 * rr(2)
= 7 * (7 * rr(3-1) + 2 * rr(3-2)) + 2 * 1
= 7 * (7 * r(2) + 2 * r(1)) + 2
= 7 * (7 * 1 + 2 * 1) + 2
= 7 * 9 + 2
= 65
</code></pre>
<p>如您所见,如果没有基本情况,您的函数将无限运行,因为<code>rr(2)</code>和<code>rr(1)</code>永远不会解析;相反,它们一直调用相同的递归路径<code>rr(1).. rr(0).. rr(-1)..etc</code></p>