From c5c581da5f1ed10ef46b70ddff8fd585c7ac92cd Mon Sep 17 00:00:00 2001 From: Philip Obosi Date: Wed, 20 Feb 2019 17:49:48 +0100 Subject: [PATCH] added rangeSum --- Beginner/rangeSum/index-SOLUTION.js | 35 +++++++++++++++++++++++++++++ Beginner/rangeSum/index-START.js | 5 +++++ Beginner/rangeSum/test.js | 0 3 files changed, 40 insertions(+) create mode 100644 Beginner/rangeSum/index-SOLUTION.js create mode 100644 Beginner/rangeSum/index-START.js create mode 100644 Beginner/rangeSum/test.js diff --git a/Beginner/rangeSum/index-SOLUTION.js b/Beginner/rangeSum/index-SOLUTION.js new file mode 100644 index 0000000..629e306 --- /dev/null +++ b/Beginner/rangeSum/index-SOLUTION.js @@ -0,0 +1,35 @@ +// USING A FOR LOOP +function rangeSum(arr) { + let sum = 0; + for (i = arr[0]; i <= arr[1]; i++) { + sum += i; + } + return sum; +} + +// USING THE ARITHMETIC PROGRESSION FORMULA +function rangeSum(arr) { + let arrList = []; + for (i = arr[0]; i <= arr[1]; i++) { + arrList.push(i); + } + return (arrList.length * (arr[0] + arr[1])) / 2; +} + +// USING RECURSION +function rangeSum(arr) { + if (arr[0] == arr[1]) { + return arr[0]; + } else { + return rangeSum([arr[0], arr[1] - 1]) + arr[1]; + } +} + +// USING .REDUCE() +function rangeSum(arr) { + let arrList = []; + for (i = arr[0]; i <= arr[1]; i++) { + arrList.push(i); + } + return arrList.reduce((acc, num) => acc + num, 0); +} diff --git a/Beginner/rangeSum/index-START.js b/Beginner/rangeSum/index-START.js new file mode 100644 index 0000000..ea938be --- /dev/null +++ b/Beginner/rangeSum/index-START.js @@ -0,0 +1,5 @@ +function rangeSum(arr) { + // Code goes here +} + +module.exports = rangeSum; diff --git a/Beginner/rangeSum/test.js b/Beginner/rangeSum/test.js new file mode 100644 index 0000000..e69de29