class program { static void Main(string[] args) { int i; i = x(8); } static int x(int n) { if (n <= 3) return 1; else return x(n - 2) + x(n - 4) + 1; } }递归算法x(8)需要调用几次函数x(int n)
1 x(8): x(6) + x(4) + 1
2 x(6): x(4) + x(2) + 1 + x(4) + 1
3 x(4): x(2) + x(0) +1 + x(2) + 1 + x(4) + 1
4 x(2): 1 + x(0) +1 + x(2) + 1 + x(4) + 1
5 x(0): 1 + 1 + +1 + x(2) + 1 + x(4) + 1
6 x(2): 1 + 1 + +1 + 1 + 1 + x(4) + 1
7 x(4): 5 + x(2) + x(0) + 1
8 x(2): 5 + 1 + x(0) + 1
9 x(0): 5 + 1 + 1 + 1