A method calling itself to solve a problem.
int fact(int n) { if(n == 1) return 1; return n * fact(n - 1); }