设有一个递归算法如下
int f(int n) { if(n<=3) return 1; else return f(n-2)+f(n-6)+1; }
试问计算f(f(9))时需要计算()次f函数。
#include<iostream> #include<cstdio> #include<cmath> #include<ctime> #include<cctype> #include<cstring> #include<cstdlib> #include<climits> #include<cfloat> #include<iostream> #include<vector> #include<stack> #include<queue> #include<set> #include<map> #include<algorithm> using namespace std; int counter = 0; int f(int n) { counter++; if (n <= 3) return 1; else return f(n - 2) + f(n - 6) + 1; } int main() { f(f(9)); cout << counter << endl; return 0; }输出为12。