作者Asbarla (木頭)
看板Grad-ProbAsk
標題[理工] [資結]-函式呼叫次數
時間Tue Sep 14 15:26:55 2010
--------------------------------------------
int B(int n, int m) {
if(n == m || m == 0 ) {
return 1;
}
else {
return B(n-1, m) + B(n-1, m-1);
}
----------------------------------------------
B(5,2) = 10
含B(5,2)本身 共呼叫幾次B()呢? ans: 19次
我怎麼追蹤都不只19次
都算不對
請問我錯在哪呢 謝謝 過程表示的不好請見諒
1次 B(5,2)
2次 B(4,2) B(4,1)
4次 B(3,2) B(3,1) B(3,1) B(3,0)
6次 B(2,2)
B(2,1) B(2,1) B(2,0) B(2,1) B(2,0)
6次
B(1,1) B(1,0) BB(同左) BB(同左)
共19次
不知道是不是只要算B函式出現的次數就好
還是說不要算到有B(x,0)出現的函式 (x為小於5的正整數)
這樣扣一扣 呼叫B()的次數也才15次 還是不對
求救了..謝謝
---
謝謝daniel大大的提醒 @@ 我了解了 答案已改為正確
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.200.33
※ 編輯: Asbarla 來自: 60.251.200.33 (09/14 15:27)
1F:→ daniel770624:2次是B(4,3) B(4,2)吧 09/14 16:00
2F:推 daniel770624:大大在一個地方錯了 是n=m 是1 不會變B(n,n+1) 09/14 16:10
3F:→ daniel770624:大大應該看到這句就會馬上寫對了@@ 09/14 16:10
4F:→ daniel770624:第一句話我打錯~因為我看錯XDDD(B(5,3) 誤) 09/14 16:12
※ 編輯: Asbarla 來自: 60.251.200.33 (09/14 16:30)
5F:推 daniel770624:是呼叫次數~ B(X,0)也要呼叫 他還是函數 09/14 19:27
6F:→ daniel770624:就是算他函數出現的次數~出現才會算變成數字就不繼續 09/14 19:29