From a68801a31cefc5428a439958ad4d5e7b90918d09 Mon Sep 17 00:00:00 2001 From: Croustys Date: Wed, 7 Oct 2020 20:25:35 +0200 Subject: [PATCH 1/5] added factorial calculator recursively --- Recursive/factorialCalculator.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Recursive/factorialCalculator.js diff --git a/Recursive/factorialCalculator.js b/Recursive/factorialCalculator.js new file mode 100644 index 0000000000..9f2a0da0fe --- /dev/null +++ b/Recursive/factorialCalculator.js @@ -0,0 +1,5 @@ +const factorialRecursion = n => n === 0 ? 1 : n * factorialRecursion(n - 1); + +//num can be anything you'd like +const num = 3; +console.log(factorialRecursion(num)); \ No newline at end of file From 1f269c4bac570a3f5d9c49ef7ec312df36612b99 Mon Sep 17 00:00:00 2001 From: Croustys Date: Sat, 10 Oct 2020 11:37:47 +0200 Subject: [PATCH 2/5] added tests and converted to normal function --- Recursive/factorialCalculator.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Recursive/factorialCalculator.js b/Recursive/factorialCalculator.js index 9f2a0da0fe..9ef1cc7202 100644 --- a/Recursive/factorialCalculator.js +++ b/Recursive/factorialCalculator.js @@ -1,5 +1,7 @@ -const factorialRecursion = n => n === 0 ? 1 : n * factorialRecursion(n - 1); +function factorialRecursion(n) { + return n === 0 ? 1 : n * factorialRecursion(n - 1) +} -//num can be anything you'd like -const num = 3; -console.log(factorialRecursion(num)); \ No newline at end of file +console.log(factorialRecursion(4)); +console.log(factorialRecursion(15)); +console.log(factorialRecursion(0)); \ No newline at end of file From b3c2b42ea2f52e3de8206fe4b0c894779f0b89dd Mon Sep 17 00:00:00 2001 From: Croustys Date: Sat, 10 Oct 2020 11:43:59 +0200 Subject: [PATCH 3/5] Added tests & normal function convertion --- Recursive/factorialCalculator.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Recursive/factorialCalculator.js b/Recursive/factorialCalculator.js index 9ef1cc7202..55e273e720 100644 --- a/Recursive/factorialCalculator.js +++ b/Recursive/factorialCalculator.js @@ -2,6 +2,6 @@ function factorialRecursion(n) { return n === 0 ? 1 : n * factorialRecursion(n - 1) } -console.log(factorialRecursion(4)); -console.log(factorialRecursion(15)); -console.log(factorialRecursion(0)); \ No newline at end of file +console.log(factorialRecursion(4)) +console.log(factorialRecursion(15)) +console.log(factorialRecursion(0)) \ No newline at end of file From 163162d565aa911fa6245df6d631d3f58f52aa7c Mon Sep 17 00:00:00 2001 From: Croustys <51267148+Croustys@users.noreply.github.com> Date: Sat, 10 Oct 2020 11:53:22 +0200 Subject: [PATCH 4/5] Update factorialCalculator.js updated code "design" not sure why test fails on such arbitrary things. --- Recursive/factorialCalculator.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Recursive/factorialCalculator.js b/Recursive/factorialCalculator.js index 55e273e720..50c9a8113a 100644 --- a/Recursive/factorialCalculator.js +++ b/Recursive/factorialCalculator.js @@ -1,7 +1,7 @@ -function factorialRecursion(n) { - return n === 0 ? 1 : n * factorialRecursion(n - 1) +function factorialRecursion (n) { + return n === 0 ? 1 : n * factorialRecursion(n - 1) } console.log(factorialRecursion(4)) console.log(factorialRecursion(15)) -console.log(factorialRecursion(0)) \ No newline at end of file +console.log(factorialRecursion(0)) From d88c0491ff4e74c8d8eb675f7a644ada187ba821 Mon Sep 17 00:00:00 2001 From: vinayak Date: Wed, 14 Oct 2020 07:25:55 +0530 Subject: [PATCH 5/5] Update and rename factorialCalculator.js to factorial.js --- Recursive/factorial.js | 16 ++++++++++++++++ Recursive/factorialCalculator.js | 7 ------- 2 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 Recursive/factorial.js delete mode 100644 Recursive/factorialCalculator.js diff --git a/Recursive/factorial.js b/Recursive/factorial.js new file mode 100644 index 0000000000..0b1260c30d --- /dev/null +++ b/Recursive/factorial.js @@ -0,0 +1,16 @@ +// function to find factorial using recursion +// example : +// 5! = 1*2*3*4*5 = 120 +// 2! = 1*2 = 2 + +const factorial = (n) => { + if (n === 0) { + return 1 + } + return n * factorial(n - 1) +} + +// testing +console.log(factorial(4)) +console.log(factorial(15)) +console.log(factorial(0)) diff --git a/Recursive/factorialCalculator.js b/Recursive/factorialCalculator.js deleted file mode 100644 index 50c9a8113a..0000000000 --- a/Recursive/factorialCalculator.js +++ /dev/null @@ -1,7 +0,0 @@ -function factorialRecursion (n) { - return n === 0 ? 1 : n * factorialRecursion(n - 1) -} - -console.log(factorialRecursion(4)) -console.log(factorialRecursion(15)) -console.log(factorialRecursion(0))