Witam,
Mam problem ze zrozumieniem pewnej części rekurencji- samą zasade rozumiem ale posiada ona jeden mamnkamet jak dla mnie którego nie rozumie
#include <iostream>
using namespace std;
long factorial (long a)
{
if (a > 1)
return (a * factorial (a-1));
else
return (1); // dokładnie o ta część mi chodzi
}
int main ()
{
long number;
cout << "Please type a number: ";
cin >> number;
cout << number << "! = " << factorial (number);
return 0;
}
Jeśli a <=1 to powinno zwrócić 1 a zwraca return (a * factorial (a-1));.
Tego właśnie nie rozumie że zamiast tej jedynki zwraca tamto .
Prosze mnie nie odsyłać do tutoriali bo tam na ten temat nic nie znalazłem :)
Pozdrawiam