Skip to content

Instantly share code, notes, and snippets.

@mwakipesile
Last active April 30, 2018 20:20
Show Gist options
  • Save mwakipesile/2793b45399c4929a2cf2739b0ceb28da to your computer and use it in GitHub Desktop.
Save mwakipesile/2793b45399c4929a2cf2739b0ceb28da to your computer and use it in GitHub Desktop.
// Second argument's omitted, default to factors [3, 5]
console.log(sumOfMultiples(10)) // returns 23
console.log(sumOfMultiples(100)) // returns 2318
console.log(sumOfMultiples(1000)) // returns 233168
// Limit is smaller than all factors (3, 5)
console.log(sumOfMultiples(1)) // returns 0
// Limit is smaller than some factor(s)
console.log(sumOfMultiples(4)) // returns 3
// Limit is equal to the factor
console.log(sumOfMultiples(20, [20])) // returns 0
// Second argument(factors) is given
console.log(sumOfMultiples(20, [7, 13, 17])) // returns 51
console.log(sumOfMultiples(150, [5, 6, 8])) // returns 4419
console.log(sumOfMultiples(10000, [43, 47])) // returns 2203160
// Collect only unique multiples
console.log(sumOfMultiples(13, [3, 6, 12])) // returns 30
// Bad inputs
console.log(sumOfMultiples(20, [])) // returns null
console.log(sumOfMultiples(20, [0])) // returns null
console.log(sumOfMultiples('20')) // returns null
console.log(sumOfMultiples(20, [7, 0, 13, 17])) // returns null
console.log(sumOfMultiples(20, [7, undefined, 17])) // returns null
console.log(sumOfMultiples(20, [7, null, 13, 17])) // returns null
console.log(sumOfMultiples(20, [7, -13, 17])) // returns null
console.log(sumOfMultiples(20, [7, Infinity, 17])) // returns null
console.log(sumOfMultiples(Infinity, [7, 13, 17])) // returns null
console.log(sumOfMultiples(20, [7, [13], 17])) // returns null
console.log(sumOfMultiples(20, [[7, 13]])) // returns null
console.log(sumOfMultiples(0, [7, 13])) // returns null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment