C++ Programming Code Examples C++ > Recursion Code Examples Direct recursion vs indirect recursion Direct recursion vs indirect recursion Direct recursion: When function calls itself, it is called direct recursion, the example we have seen above is a direct recursion example. Indirect recursion: When function calls another function and that function calls the calling function, then this is called indirect recursion. For example: function A calls function B and Function B calls function A. Indirect Recursion Example in C++ #include <iostream> using namespace std; int fa(int); int fb(int); int fa(int n){ if(n<=1) return 1; else return n*fb(n-1); } int fb(int n){ if(n<=1) return 1; else return n*fa(n-1); } int main(){ int num=5; cout<<fa(num); return 0; }