Witam,
Lecę dalej z zadaniami na koło :)
Niech funkcja T określona na liczbach naturalnych będzie zadana następującym wzorem:
T(n,0) = n dla n > 0
T(0,m) = m dla m > 0
T(n,m)= T(n-1,m)+T(n,m-1) dla n>0
a. Napisz rekurencyjną funkcję fTrec(int n, int m) obliczającą wartość funkcji T dla
argumentów n i m.
Wiem że zadanie jest pewnie banalne, ale rekurencja jest dla mnie wyzwaniem :) moje rozwiązanie wygląda następująco :
int fTrec (int n, int m){
if n>0 {
if (m==0) return n;
}
if m>0{
if (n==0) return m;
}
if n>0 {
return fTrec(n-1,m)+fTrec(n,m-1);
}
}
}
Mam nadzieje że dobrze napisałem funkcje rekurencyjną. Mój problem jest następujący w momencie kiedy inicjuje funkcje ze zmiennymi (2,2) na mój gust wyniki powinien być 4. N będzie równe 2 dla m=0, m również będzie 2 dla n=0. Program zwraca 8 i szczerze to nie mam pojęcia dlaczego.