Пример за намиране на факториал на неотрицателно цяло число (въведено от потребителя) с помощта на рекурсия.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на 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()
функцията.