**UPDATE: I figured it out. If you're interested, here was my problem and the solution is below.**In trying to write a recursive function that returns the fastest growing hierarchy (a really fast growing function).

Here is the definition:

**Base function f**

_{0}:**f**

_{0}(n) = n+1**Next function f**

_{(a+1)}:**f**

_{(a+1)}(n) = f_{a}^{n}(n)**Functional powers:**

**f**

^{(a+1)}(n) = f(f^{a}(n)) where f^{0}(n) = n#include <iostream> using namespace std; int hf(int, int); int f(int x, int power, int functionalBase) { if (power==1) return hf(x, functionalBase); else return f(f(x, power-1, functionalBase),1, functionalBase); } int hf(int x, int functionalBase) { if (functionalBase==0) return x+1; else return f(x,x,functionalBase-1); } int main() { cout << f(2, 2, 2); }