При разработке рекурсивного алгоритма для вычисления факториала любого числа, мы должны сначала определить базовый случай , который является частью вычисления, которое мы можем решить без рекурсии. Это тот случай, когда n = 0
затем factorial(n) = 1
.
Это говорит о том, как решить проблему, когда n
равно 0, но что мы делаем, когда n
больше 0? Это рекурсивный случай , или часть проблемы, которую мы используем для решения рекурсии. If n > 0, then factorial(n) = n * factorial(n-1)
. Это говорит о том, что если n больше 0, факториал n в n раз больше факториала n-1
.
int factorial(int n)
{
if (n == 0)
return 1; // base case
else
return n * factorial(n-1); // recursive case
}