From 084ad620ece2ec00608871dae6b6bde24196d183 Mon Sep 17 00:00:00 2001 From: Kristofer Koishigawa Date: Sun, 11 Feb 2018 06:13:22 +0900 Subject: [PATCH] fix(seed): Add tests and solution for Project Euler 14 (#16621) Added tests and a working solution for problem. --- .../project-euler-problems.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json index 00a6545198..c79d6681c3 100644 --- a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json +++ b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json @@ -544,17 +544,21 @@ "type": "bonfire", "title": "Problem 14: Longest Collatz sequence", "tests": [ - "assert.strictEqual(euler14(), 837799, 'message: euler14() should return 837799.');" + "assert.strictEqual(longestCollatzSequence(14), 9, 'message: longestCollatzSequence(14) should return 9.');", + "assert.strictEqual(longestCollatzSequence(5847), 3711, 'message: longestCollatzSequence(5847) should return 3711.');", + "assert.strictEqual(longestCollatzSequence(1000000), 837799, 'message: longestCollatzSequence(1000000) should return 837799.');" ], - "solutions": [], + "solutions": ["function longestCollatzSequence(limit) {\n let longestSequenceLength = 0;\n let startingNum = 0;\n\n function sequenceLength(num) {\n let length = 1;\n\n while (num >= 1) {\n if (num === 1) { break;\n } else if (num % 2 === 0) {\n num = num / 2;\n length++;\n } else {\n num = num * 3 + 1;\n length++;\n }\n }\n return length;\n }\n\n for (let i = 2; i < limit; i++) {\n let currSequenceLength = sequenceLength(i);\n if (currSequenceLength > longestSequenceLength) {\n longestSequenceLength = currSequenceLength;\n startingNum = i;\n }\n }\n return startingNum;\n}"], "translations": {}, "challengeSeed": [ - "function euler14() {", + "function longestCollatzSequence(limit) {", " // Good luck!", " return true;", "}", "", - "euler14();" + "longestCollatzSequence(14);", + "longestCollatzSequence(5847);", + "longestCollatzSequence(1000000);" ], "description": [ "The following iterative sequence is defined for the set of positive integers:",