Приклад пошуку факторіалу невід’ємного цілого числа (введеного користувачем) за допомогою рекурсії.
Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на C ++:
- Функції C ++
- Типи користувацьких функцій у C ++
- C ++ if, if … else та вкладений if … else
- Рекурсія С ++
Ця програма бере ціле додатне число від користувача і обчислює факторіал цього числа. Припустимо, користувач вводить 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()
функції.