У цьому прикладі ви навчитеся писати програму JavaScript, яка знаходить факторіал числа за допомогою рекурсії.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування JavaScript:
- Рекурсія JavaScript
- JavaScript, якщо … ще Заява
Факторіал числа - це добуток усіх чисел від 1 до цього числа. Наприклад,
факторіал 5 дорівнює 1 * 2 * 3 * 4 * 5 = 120 .
Факториал додатного числа n задається:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Факторіал від’ємних чисел не існує, а факторіал 0 дорівнює 1 .
Приклад: знайти факторіал за допомогою рекурсії
// program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )
Вихідні дані
Введіть додатне число: 4 Факторіал 4 дорівнює 24
У наведеній вище програмі користувачеві пропонується ввести номер.
Коли користувач вводить від'ємне число, з'являється повідомлення Введіть додатне число. показано.
Коли користувач вводить додатне число або 0 , функція factorial(num)
викликається.
- Якщо користувач введе число 0 , програма поверне 1 .
- Якщо користувач вводить число більше 0 , програма буде рекурсивно викликати себе, зменшуючи число.
- Цей процес триває, поки число не стає 1. Потім, коли число досягає 0, повертається 1.
Ось,
факторіал (4) повертає 4 * факторіал (3) факторіал (3) повертає 4 * 3 * факторіал (2) факторіал (2) повертає 4 * 3 * 2 * факторіал (1) факторіал (1) повертає 4 * 3 * 2 * 1 * факторіал (0) факторіал (0) повертає 4 * 3 * 2 * 1 * 1