Програма C ++ за изчисляване на факториал на число с помощта на рекурсия

Пример за намиране на факториал на неотрицателно цяло число (въведено от потребителя) с помощта на рекурсия.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:

  • C ++ функции
  • Видове дефинирани от потребителя функции в C ++
  • C ++ ако, ако … друго и вложено ако … друго
  • C ++ рекурсия

Тази програма взема положително цяло число от потребителя и изчислява факториала на това число. Да предположим, че потребителят въвежда 6 след това,

 Факториал ще бъде равен на 1 * 2 * 3 * 4 * 5 * 6 = 720 

Ще се научите да намирате факториал на число, използвайки рекурсивна функция в този пример.

Посетете тази страница, за да научите как можете да използвате цикли за изчисляване на факториал.

Пример: Изчислете факториал, използвайки рекурсия

 #include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; ) 

Изход

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

Да предположим, че в горната програма потребителят въвежда число 6. Номерът се предава на factorial()функцията.

В тази функция 6 се умножава по факториал на (6 - 1 = 5). За това числото 5 се предава отново на factorial()функцията.

По същия начин в следващата итерация 5 се умножава по факториал на (5 - 1 = 4). И 4 се предава на factorial()функцията.

Това продължава, докато стойността достигне 1 и функцията върне 1.

Сега всяка функция връща стойността обратно, за да изчисли 1 * 2 * 3 * 4 * 5 * 6 = 720, която се връща към main()функцията.

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