From 0fedf18b6c40400179e2def54e41c734cd2c52d3 Mon Sep 17 00:00:00 2001 From: karamarimo Date: Tue, 12 Dec 2017 18:38:20 +0900 Subject: [PATCH] add another way to calculate factorial --- snippets/factorial.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/snippets/factorial.md b/snippets/factorial.md index fb60c9204..dbdb7a802 100644 --- a/snippets/factorial.md +++ b/snippets/factorial.md @@ -1,6 +1,12 @@ ### Factorial -Create an array of length `n+1`, use `reduce()` to get the product of every value in the given range, utilizing the index of each element. +Use recursion. If `n` is less than (for safety) or equal to `1`, return `1`. Otherwise, return the product of `n` and the factorial of `n - 1`. + +```js +const factorial = n => n <= 1 ? 1 : n * factorial(n - 1) +``` + +Another way: create an array of length `n+1`, use `reduce()` to get the product of every value in the given range, utilizing the index of each element. ```js var factorial = n =>