Skip to content
This repository was archived by the owner on Sep 25, 2019. It is now read-only.

Commit 28eaceb

Browse files
scissorsneedfoodtooBouncey
authored andcommitted
fix(challenges): Add Tests and Solution for Project Euler 50 (#17152)
Added an additional test and a solution adapted from the one @elliotjz contributed to the fCC Arcade Mode. BREAKING CHANGE: None
1 parent 9a8fc6b commit 28eaceb

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,17 +1742,18 @@
17421742
"type": "bonfire",
17431743
"title": "Problem 50: Consecutive prime sum",
17441744
"tests": [
1745-
"assert.strictEqual(euler50(), 997651, 'message: <code>euler50()</code> should return 997651.');"
1745+
"assert.strictEqual(consecutivePrimeSum(1000), 953, 'message: <code>consecutivePrimeSum(1000)</code> should return 953.');",
1746+
"assert.strictEqual(consecutivePrimeSum(1000000), 997651, 'message: <code>consecutivePrimeSum(1000000)</code> should return 997651.');"
17461747
],
1747-
"solutions": [],
1748+
"solutions": ["function consecutivePrimeSum(limit) {\n function isPrime(num) {\n if (num < 2) {\n return false;\n } else if (num === 2) {\n return true;\n }\n const sqrtOfNum = Math.floor(num ** 0.5);\n for (let i = 2; i <= sqrtOfNum + 1; i++) {\n if (num % i === 0) {\n return false;\n }\n }\n return true;\n }\n function getPrimes(limit) {\n const primes = [];\n for (let i = 0; i <= limit; i++) {\n if (isPrime(i)) primes.push(i);\n }\n return primes;\n }\n\n const primes = getPrimes(limit);\n let primeSum = [...primes];\n primeSum.reduce((acc, n, i) => {\n primeSum[i] += acc;\n return acc += n;\n }, 0);\n\n for (let j = primeSum.length - 1; j >= 0; j--) {\n for (let i = 0; i < j; i++) {\n const sum = primeSum[j] - primeSum[i];\n if (sum > limit) break;\n if (isPrime(sum) && primes.indexOf(sum) > -1) return sum;\n }\n }\n}"],
17481749
"translations": {},
17491750
"challengeSeed": [
1750-
"function euler50() {",
1751+
"function consecutivePrimeSum(limit) {",
17511752
" // Good luck!",
17521753
" return true;",
17531754
"}",
17541755
"",
1755-
"euler50();"
1756+
"consecutivePrimeSum(1000000);"
17561757
],
17571758
"description": [
17581759
"The prime 41, can be written as the sum of six consecutive primes:",

0 commit comments

Comments
 (0)