擅长:python、mysql、java
<p>在定义<code>Stern_Brocot</code>之前,添加<code>sys.setrecursionlimit(120000)</code>。这将把程序的递归限制设置为120000。在</p>
<p>所以,你可以这样做:</p>
<pre><code>import sys
sys.setrecursionlimit(120000)
def Stern_Brocot(n,a=0,b=1,c=1,d=1):
if(a+b+c+d>n):
return 0
x=Stern_Brocot(n,a+c,b+d,c,d)
y=Stern_Brocot(n,a,b,a+c,b+d)
if(x==0):
if(y==0):
return [a+c,b+d]
else:
return [a+c]+[b+d]+y
else:
if(y==0):
return [a+c]+[b+d]+x
else:
return [a+c]+[b+d]+x+y
</code></pre>