I understand that each recusive function must have one base case(A solution given directly) however they may also have two. This is where I get confused see below. Is my thinking below correct or way off?
Code:
int funct1(int m, int n) {
if (m==n || n==1) // single base case
return 1;
else
return funct1(m-1,n-1) + n*func1(m-1, n);
}
if I broke these in two parts as below I would have two base cases. I think it still says the same as (this |or| that) Am I on the right track.
Code:
int ...................
if (m==n)
return 1 //1st base case
else if (n==1)
return 1 // 2nd base case
else
.........................