Функцію факториалу можна записати як рекурсивний виклик функції. Пам’ятайте, що факторіал(n) = n × (n – 1) × (n – 2) × … × 2 × 1. Функцію факторіалу можна переписати рекурсивно як факторіал(n) = n × факторіал(n – 1).
Крок 1. Визначте рекурсивну функцію під назвою факторіал, яка приймає ціле число n як вхідні дані. Крок 2. Налаштуйте базовий випадок: якщо n дорівнює 0 або 1, поверніть 1, оскільки факторіал 0 або 1 дорівнює 1. Крок 3. У рекурсивному випадку викличте факторіальну функцію з n-1 як аргумент і помножте на результат за н.
Коротше кажучи, факториал – це функція, яка множить число на кожне число під ним до 1. Наприклад, факторіал 3 представляє множення чисел 3, 2, 1, тобто 3! = 3 × 2 × 1 і дорівнює 6.
Факторіал також можна обчислити ітераційно, оскільки рекурсія може бути дорогою для великих чисел. Оскільки факторіал N є добутком самого числа та всіх його попередніх чисел, ми можемо запускати цикл i від 1 до N. У кожній ітерації поточний i множиться на поточний добуток.
Щоб знайти факторіал даного числа, ми можемо використовувати цикли. Спочатку ініціалізуйте змінну факторіалу значенням 1, а потім виконайте ітерацію, використовуючи цикл від 1 до n, і в кожній ітерації помножте номер ітерації на факторіал і оновіть факторіал новим значенням.
Яка часова складність факторної програми? І для ітераційного, і для рекурсійного рішення часова складність факториальної програми дорівнює O(n), де n = число.