[英]How many times is this function called?
我有這個關於遞歸的子算法,我知道它被調用了 5 次,但我不明白為什么。 初始值為 m=1,n=2。
我認為該函數被調用了 7 次。
int Ack(int m, int n)
{
if (m==0)
return n+1;
else
{
if (m>0 && n==0)
return Ack(m-1,1);
else
return Ack(m-1,Ack(m,n-1));
}
}
我預計它會被調用 7 次甚至更多,但實際數量是 5。
7 是這樣得出的:
您重復計算了 2 個調用:#7 與 #4 相同,#8 與 #2 相同(僅顯示Ack
返回的值):“回來”與調用不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.