Skip to content

Commit c5c581d

Browse files
author
Philip Obosi
committed
added rangeSum
1 parent cf5a497 commit c5c581d

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed

Beginner/rangeSum/index-SOLUTION.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// USING A FOR LOOP
2+
function rangeSum(arr) {
3+
let sum = 0;
4+
for (i = arr[0]; i <= arr[1]; i++) {
5+
sum += i;
6+
}
7+
return sum;
8+
}
9+
10+
// USING THE ARITHMETIC PROGRESSION FORMULA
11+
function rangeSum(arr) {
12+
let arrList = [];
13+
for (i = arr[0]; i <= arr[1]; i++) {
14+
arrList.push(i);
15+
}
16+
return (arrList.length * (arr[0] + arr[1])) / 2;
17+
}
18+
19+
// USING RECURSION
20+
function rangeSum(arr) {
21+
if (arr[0] == arr[1]) {
22+
return arr[0];
23+
} else {
24+
return rangeSum([arr[0], arr[1] - 1]) + arr[1];
25+
}
26+
}
27+
28+
// USING .REDUCE()
29+
function rangeSum(arr) {
30+
let arrList = [];
31+
for (i = arr[0]; i <= arr[1]; i++) {
32+
arrList.push(i);
33+
}
34+
return arrList.reduce((acc, num) => acc + num, 0);
35+
}

Beginner/rangeSum/index-START.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function rangeSum(arr) {
2+
// Code goes here
3+
}
4+
5+
module.exports = rangeSum;

Beginner/rangeSum/test.js

Whitespace-only changes.

0 commit comments

Comments
 (0)