下面是一個代碼做遞歸出故障了較大的值:如何計算這漫長的遞歸
int rec(int m,int n)
{
if(m==0)
return n+1;
if(m>0 && n==0)
return rec(m-1,1);
if(m>0 && n>0)
return rec(m-1,rec(m,n-1));
}
如果我調用該函數rec(m,n)
:
- 與
m=1
和n=2
,結果我得到是4
- 與
m=2
和n=2
,它是7
, - 與
m=3
和n=2
,它是29
但崩潰爲m=4
和m=2
。有沒有其他的方法來計算它?
這是阿克曼的功能嗎? :D – Dejan
那你有什麼問題?你想知道*爲什麼它崩潰,你想讓它爲(4,2)工作嗎?還有別的嗎? – delnan
是的,這是阿克曼的功能。 – dabs