fix(challenges): Add tests for Project Euler problem 12 (#16545)

pull/18182/head
Kristofer Koishigawa 2018-01-28 16:52:50 +09:00 committed by mrugesh mohapatra
parent b36ba2cc99
commit 3ef9315310
1 changed files with 13 additions and 5 deletions

View File

@ -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?"
]