擅长:python、mysql、java
<p>我认为你在过度思考递归。这样的解决方案应该有效:</p>
<pre class="lang-py prettyprint-override"><code>def onetwothree(n, count=0):
if n <= 0:
return count
last_three_digits = n % 1000
n_without_last_number = n // 10
if last_three_digits == 123:
return onetwothree(n_without_last_number, count + 1)
else:
return onetwothree(n_without_last_number, count)
print(onetwothree(123123999123))
</code></pre>
<p>产出:</p>
<pre><code>3
</code></pre>