擅长:python、mysql、java
<p>递归的第一步是使用递归。这意味着函数必须在某个地方调用自己。使用递归的下一步是停止递归。这意味着提供一种方法,让函数在返回结果时停止调用自身。对于这个函数,您需要从给定的数字开始,然后将它添加到数字-1,然后将它添加到较小的数字-1,依此类推,直到达到0</p>
<pre><code>def adder(n):
if n:
return n + adder(n-1)
return n
</code></pre>
<p>如果我们传递这个值<code>8</code>,那么<code>if n:</code>是真的,我们将运行该块。这意味着我们将返回<code>8</code>加上<code>adder(n-1)</code>的值,即<code>adder(7)</code>。返回<code>7</code>加上<code>adder(6)</code>,依此类推。当<code>n</code>是<code>0</code>时,它只返回该值。这意味着我们有<code>n + adder(n-1) + adder(n-2)... 0</code>,这是我们正在寻找的算法</p>