fix(challenges): Add tests for Project Euler problem 12 (#16545)
parent
b36ba2cc99
commit
3ef9315310
|
@ -386,23 +386,31 @@
|
|||
"type": "bonfire",
|
||||
"title": "Problem 12: Highly divisible triangular number",
|
||||
"tests": [
|
||||
"assert.strictEqual(euler12(), 76576500, 'message: <code>euler12()</code> should return 76576500.');"
|
||||
"assert.strictEqual(divisibleTriangleNumber(5), 28, 'message: <code>divisibleTriangleNumber(5)</code> should return 28.');",
|
||||
"assert.strictEqual(divisibleTriangleNumber(23), 630, 'message: <code>divisibleTriangleNumber(23)</code> should return 630.');",
|
||||
"assert.strictEqual(divisibleTriangleNumber(500), 76576500, 'message: <code>divisibleTriangleNumber()</code> should return 76576500.');"
|
||||
],
|
||||
"solutions": [],
|
||||
"solutions": ["function divisibleTriangleNumber(n) {\n let counter = 1;\n let triangleNumber = counter++;\n\n function getFactors(num) {\n let factors = [];\n\n let possibleFactor = 1;\n let sqrt = Math.sqrt(num);\n\n while (possibleFactor <= sqrt) {\n if (num % possibleFactor == 0) {\n factors.push(possibleFactor);\n var otherPossibleFactor = num / possibleFactor;\n if (otherPossibleFactor > possibleFactor) {\n factors.push(otherPossibleFactor);\n }\n }\n possibleFactor++;\n }\n\n return factors;\n }\n\n while (getFactors(triangleNumber).length < n) {\n triangleNumber += counter++;\n }\n console.log(triangleNumber)\n return triangleNumber;\n}"],
|
||||
"translations": {},
|
||||
"challengeSeed": [
|
||||
"function euler12() {",
|
||||
"function divisibleTriangleNumber(n) {",
|
||||
" // Good luck!",
|
||||
" return true;",
|
||||
"}",
|
||||
"",
|
||||
"euler12();"
|
||||
"divisibleTriangleNumber(500);"
|
||||
],
|
||||
"description": [
|
||||
"The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:",
|
||||
"1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...",
|
||||
"Let us list the factors of the first seven triangle numbers:",
|
||||
" 1: 1 3: 1,3 6: 1,2,3,610: 1,2,5,1015: 1,3,5,1521: 1,3,7,2128: 1,2,4,7,14,28",
|
||||
"<b>1:</b> 1",
|
||||
"<b>3:</b> 1, 3",
|
||||
"<b>6:</b> 1, 2, 3, 6",
|
||||
"<b>10:</b> 1, 2, 5, 10",
|
||||
"<b>15:</b> 1, 3, 5, 15",
|
||||
"<b>21:</b> 1, 3, 7, 21",
|
||||
"<b>28:</b> 1, 2, 4, 7, 14, 28",
|
||||
"We can see that 28 is the first triangle number to have over five divisors.",
|
||||
"What is the value of the first triangle number to have over five hundred divisors?"
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue