Программа на C для поиска факториала числа с помощью рекурсии

В этом примере вы научитесь находить факториал неотрицательного целого числа, введенного пользователем с помощью рекурсии.

Чтобы понять этот пример, вы должны знать следующие темы программирования на C:

  • Функции C
  • C Пользовательские функции
  • C Рекурсия

Факториал положительного числа n определяется как:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Факториала отрицательного числа не существует. И факториал 0есть 1.

В этом примере вы научитесь находить факториал числа с помощью рекурсии. Посетите эту страницу, чтобы узнать, как найти факториал числа с помощью цикла.

Факториал числа с использованием рекурсии

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Вывод

Введите положительное целое число: 6 Факториал 6 = 720. 

Предположим, пользователь ввел 6.

Первоначально multiplyNumbers()вызывается из main()с 6 переданным в качестве аргумента.

Затем 5 передается multiplyNumbers()из той же функции (рекурсивный вызов). В каждом рекурсивном вызове значение аргумента n уменьшается на 1.

Когда значение n меньше 1, рекурсивный вызов отсутствует, и факториал в конечном итоге возвращается main()функции.

Интересные статьи...