From 03d3720c260072436d9d128cbf1cec7a99fd7abb Mon Sep 17 00:00:00 2001 From: Waddah Date: Thu, 15 Oct 2020 21:33:16 +0300 Subject: [PATCH] add a solution for Project Euler problem #006 --- Project-Euler/Problem006.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Project-Euler/Problem006.js diff --git a/Project-Euler/Problem006.js b/Project-Euler/Problem006.js new file mode 100644 index 000000000..181ed6be5 --- /dev/null +++ b/Project-Euler/Problem006.js @@ -0,0 +1,24 @@ +/* +Sum square difference +The sum of the squares of the first ten natural numbers is 385, + +The square of the sum of the first ten natural numbers is 3025, + +Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 - 385 = 2640. + +Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum. +*/ + +const findSumSquareDifference = (elementsCount) => { + const naturalNumbers = Array(elementsCount).fill().map((_, i) => i + 1) + + let sumOfSquares = 0 + naturalNumbers.forEach(number => { sumOfSquares += Math.pow(number, 2) }) + + const sumOfNumbers = naturalNumbers.reduce((prev, current) => { current += prev }, 0) + const squareOfSums = Math.pow(sumOfNumbers, 2) + + return squareOfSums - sumOfSquares +} + +console.log(findSumSquareDifference(20))