1. 程式人生 > >判斷遞迴執行的次數

判斷遞迴執行的次數

1 2 3 4 5 int f(int x) { if(x <= 2) return1; returnf(x - 2) + f(x - 4) + 1; }
分析過程如下: 針對這樣的題目在別的地方看到的比較好的方法是用樹來表示              10           8       6        6    4   4    2       4  2  2 0 2 0       2   0 圖中樹的節點數是15,所以是呼叫了15次 範例2:
class program
 {
     static void Main(string[] args)
     {
         int i;
         i = x(x(8));
     }
     static int x(int n)
     {
         if (n <= 3)
             return 1;
         else
             return x(n - 2) + x(n - 4) + 1;
     }
 }
遞迴演算法x(x(8))需要呼叫幾次函式x(int n)?