Програма 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()функції.

Цікаві статті...